我正在学习 webpy 来编写代码。
我正在使用 Webpy 框架 0.34。我的操作系统是 ubuntu 11.04,python 的版本是 2.7。
在 webpy.org 的 tutorials 中它说:
但它不起作用。
我的 code.py 与教程的示例相同:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import web
class index():
def GET(self):
return 'a'
if __name__ == '__main__':
urls = ('/', 'index')
app = web.application(urls, globals())
app.run()
我正在使用内置的网络服务器(使用
python code.py
启动服务器)
当我将代码“return 'a'”更改为“return 'b'”时,在网络浏览器中,它一直显示“a”,直到我重新启动服务器。
每次重写代码都重启服务器是浪费时间,为什么自动重载机制不起作用?难道我做错了什么?感谢您的任何帮助。
编辑 :抱歉,我的 code.py 与教程的示例不完全相同,这导致了问题。如果我将 urls 赋值行放在 if 语句之外,则重新加载机制会起作用!!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import web
class index():
def GET(self):
return 'a'
urls = ('/', 'index')
if __name__ == '__main__':
app = web.application(urls, globals())
app.run()
但我不知道为什么...
最佳答案
如果你像我一样有单独的 route.py
文件,不要像这样设计文件:
from controllers.index import Index
urls = ('/','Index')
它不会在文档更改时重新加载,而是这样做:
urls = ('/','controllers.index.Index')
关于python - Webpy : how to auto reload source code when it changed?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6783889/