Python Webpy:如何在源代码发生更改时自动重新加载源代码?
我正在学习webpy编写代码。 我使用的是Webpy框架0.34。我的操作系统是ubuntu 11.04,python的版本是2.7。 在webpy.org网站上,它写道: “使用内置Web服务器运行时,它会启动应用程序 在调试模式下。在调试模式下,对代码和模板的任何更改都是无效的 自动重新加载“ 但它不起作用 my code.py与本教程的示例相同:Python Webpy:如何在源代码发生更改时自动重新加载源代码?,python,reload,web.py,Python,Reload,Web.py,我正在学习webpy编写代码。 我使用的是Webpy框架0.34。我的操作系统是ubuntu 11.04,python的版本是2.7。 在webpy.org网站上,它写道: “使用内置Web服务器运行时,它会启动应用程序 在调试模式下。在调试模式下,对代码和模板的任何更改都是无效的 自动重新加载“ 但它不起作用 my code.py与本教程的示例相同: #!/usr/bin/env python # -*- coding: utf-8 -*- import web class index():
#!/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()
我正在使用内置Web服务器(已使用)
要启动服务器,请执行以下操作:
当我在web浏览器中将代码“return'a'”更改为“return'b'”时,它会一直显示“a”,直到我重新启动服务器
每次重新启动服务器重写代码都是浪费时间,为什么自动加载机制不起作用?我做错什么了吗?谢谢你的帮助
编辑:很抱歉,我的code.py与教程的示例不完全相同,这导致了问题。如果我把URL分配行放在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()
但我不知道为什么…我只有一个想法:你的编辑器不会改变修改文件的时间。尝试在代码修改后运行以下命令来强制更改时间戳,然后检查结果:
$ touch code.py
更改并保存代码后应刷新页面尝试将以下内容添加到代码顶部(导入后):
有关详细信息:如果您有像我这样的独立
route.py
文件,请不要这样设计文件:
from controllers.index import Index
urls = ('/','Index')
它不会在文档更改时重新加载,请改为执行以下操作:
urls = ('/','controllers.index.Index')
谢谢你的帮助,下次我会注意到还有另一个原因:时间戳改变了。非常感谢。
from controllers.index import Index
urls = ('/','Index')
urls = ('/','controllers.index.Index')