如何阻止web2py缓存?
我在使用web2py的时候,发现它有时候不太能及时发现代码的变化。我也说不清楚具体是什么原因,但有时候我改了代码,web2py却还是显示旧的版本,像是把旧的版本缓存在哪里了。
唯一有效的办法就是退出web2py,然后重新启动它(我在用内部服务器)。
有没有什么建议呢?谢谢!
2 个回答
0
web2py
本身并不会“缓存”你的代码,但你使用的应用服务器可能会这样做。不过,web2py
可以在很多不同的应用服务器上运行,所以很难给出完全通用的建议。
举个例子,如果你使用的是流行的 cherrypy
WSGI 服务器,我记得它是和 web2py
一起打包的,可以查看 cherrypy
自己的文档,了解 自动重载 功能。这样的功能在生产环境中并不推荐使用(因为它们可能会消耗很多资源),但在你开发的时候确实很方便!:-)
5
web2py会缓存你的代码,除了在Google App Engine上(为了提高速度)。这不是问题。如果你在模型、视图或控制器中编辑代码,你会立刻看到效果。
问题可能出在模块上;如果你在模块中编辑代码,除非你用local_import('module', reload=True)
来重新导入它们,或者重启web2py,否则你不会立刻看到效果。
如果这也不是你的问题,那可能是你的浏览器在缓存一些东西。请把这个问题提到web2py的邮件列表上,我们可以提供更多帮助。
附注:如果你使用的是最新的web2py,它不再包含cherrypy。内置的网络服务器叫做Rocket。