我正在使用web2py,由于某种原因,在某些情况下,web2py似乎没有注意到代码发生了变化。我不能真正地缩小范围,但代码中不时发生的更改不会反映出来,web2py显然在某个地方缓存了旧版本。
唯一有帮助的是退出web2py并重启它(我使用的是内部服务器)。
有什么提示吗?谢谢!
发布于 2010-05-15 23:32:18
web2py确实会缓存你的代码,除了Google App Engine (为了提高速度)。这不是问题所在。如果您在模型、视图或控制器中编辑代码,您会立即看到效果。
问题可能出在模块上;如果您编辑模块中的代码,您不会立即看到效果,除非您使用local_import('module', reload=True)导入它们,或者重新启动web2py。
这也不是你的问题,那么你的浏览器正在缓存一些东西。请将这个问题带到web2py邮件列表,因为我们可以提供更多帮助。
附注:如果你使用的是最新的web2py,它不再提供cherrypy。内置的web服务器名为Rocket。
发布于 2010-05-15 22:13:27
web2py本身不应该“缓存”你的代码,但是你正在使用它的任何应用服务器肯定可以。但web2py可以部署在如此多的应用服务器上,以至于不可能给出完全通用的建议。
例如,如果您使用的是流行的cherrypy服务器,我认为它与web2py捆绑在一起,请参阅cherrypy自己的文档中的AutoReload特性。不建议在生产部署中使用这些特性(它们可能需要非常多的资源),但当您正在进行开发时,它们肯定会派上用场!
https://stackoverflow.com/questions/2840201
复制相似问题