刷新 django 中的 urls.py 缓存

Posted

技术标签:

【中文标题】刷新 django 中的 urls.py 缓存【英文标题】:Refresh urls.py cache in django 【发布时间】:2012-03-29 03:20:20 【问题描述】:

我在nginxFastCGI 上使用django,而urls.py 有问题。根据this question,django 缓存了 url.py 文件,我 - 就像上面问题的作者一样 - 无法修改我的 URL 定义。

我的问题是 - 有什么方法可以在不重启服务器的情况下清除 django/nginx/fcgi 中的 url 缓存(无论如何都没有帮助)?

【问题讨论】:

【参考方案1】:

这不仅仅是一个 urls.py 的东西,它是运行 wsgi 或 fastcgi 应用程序的正常工作流程。该模块位于内存中,并且在您告诉服务器它已更改之前不会从磁盘重新加载。

根据Django's FastCGI docs:

如果您更改网站上的任何 Python 代码,您需要告诉 FastCGI 代码已更改。但是在这种情况下不需要重新启动 Apache。相反,只需重新上传 mysite.fcgi,或编辑文件,以便文件上的时间戳发生变化。当 Apache 看到文件已更新时,它将为您重新启动 Django 应用程序。

如果您可以访问 Unix 系统上的命令 shell,则可以使用 touch 命令轻松完成此操作:

触摸 mysite.fcgi

对于开发,在大多数情况下,您可以使用django development server,它会监视代码更改并在发现某些更改时重新启动。

【讨论】:

【参考方案2】:

您无需重启整个服务器,只需重启您的 FastCGI 应用程序即可。但是,我不知道您为什么说这没有帮助-这就是这样做的方法。没办法。

【讨论】:

以上是关于刷新 django 中的 urls.py 缓存的主要内容,如果未能解决你的问题,请参考以下文章

Django

单击指向另一个模板的链接时,Django 模板只会重新加载

DJango 中 URLS.py 中的无效语法错误

django中urls.py中的include()是什么

Django urls.py 中的正则表达式

如何让 Django urls.py 识别 url 中的 # (hash)?