【发布时间】:2012-02-28 10:14:24
【问题描述】:
我已经在 Apache/mod_wsgi 上的 Windows 7 上设置了 Django。每次更改任何 python 代码时,我都需要停止,然后启动服务器。有没有办法避免它?
这不会发生在 javascript/php 更改中,即无需重新启动 apache 即可查看更改代码的效果。朝着正确的方向推进将大有帮助。谢谢!
【问题讨论】:
我已经在 Apache/mod_wsgi 上的 Windows 7 上设置了 Django。每次更改任何 python 代码时,我都需要停止,然后启动服务器。有没有办法避免它?
这不会发生在 javascript/php 更改中,即无需重新启动 apache 即可查看更改代码的效果。朝着正确的方向推进将大有帮助。谢谢!
【问题讨论】:
您不必重新启动 Apache。只需修改 wsgi 文件(在 UNIX 环境中,您可以使用touch myfile.wsgi),它将被重新加载。换句话说,只要确保你的 wsgi 文件的最后修改日期已经更新,即使文件内容本身没有更新。
附:我假设您正在以守护程序模式运行。如果您使用的是嵌入式模式,那么我的建议对您没有帮助,我不知道是否可以这样做...另请参阅this question。
编辑:抱歉,我不知道守护程序模式是 only supported on UNIX。在这种情况下,也许其他问题中的链接会有所帮助,但我无法确定,因为我没有这方面的经验。
【讨论】:
MaxRequestsPerChild 1 解决方案,因为即使对于 php/js 文件,它也会重新启动服务器。因此,在 Windows 中没有解决方案 :(
在以下位置阅读有关它的官方文档:
【讨论】:
这是因为 Python 代码缓存在 .pyc 文件中。在使用该缓存之后,它会被解释一次。 对不起,我的错误!感谢您指出。
如果您需要经常更改文件并立即看到结果进行开发,请使用 Django 内置的开发服务器。
使用 python 解释器从命令行调用它: python manage.py runserver
然后您将在端口 8000 上运行@localhost 的应用程序
请去阅读文档!
【讨论】:
.pyc文件中。您可以删除相应的.pyc 文件,但您仍需要重新启动服务器才能看到您的更改。