【发布时间】:2023-03-28 11:44:01
【问题描述】:
我开始从事一个成熟的 Django 项目,并注意到一些不寻常的事情。当我编辑 urls.py 时——无论是在项目级别还是在项目级别以下——Django 都会忽略我的更改。
调试已打开,所以当我收到 404 时,Django 会打印它尝试过的所有 URL 模式。从这里我看到了 在我进行更改之前的 URL 模式。
同样,这与我是编辑 /project/urls.py 还是 /project/sub/urls.py 无关。可以肯定的是,子目录 urls.py 被正确包含。
我专注于项目级别的urls.py,以防万一。
我可以对 urls.py 做一个小的更新或删除它的所有内容。 404 调试信息显示旧的 url 模式。
就好像 Django 正在查看这些 urls.py 文件的缓存版本。我应该如何进行?
【问题讨论】:
-
你是如何运行你的 django 服务器的?您是否尝试过重启实例?
-
@Adam 我确实试过了,清除了 cookie 等。@Shawn 很好的提醒,我会试试的。
-
Django 的内置服务器(通过
runserver命令运行)自动检查代码的更新。对于任何其他服务器(包括 Django 的testserver),您需要显式地重新加载源。如果您告诉我们您是如何为您的应用程序提供服务的,正如 Shawn Chin 所说,我们可以就如何做到这一点提供建议! -
同时删除“urls.pyc”。它可能无济于事,但也不会伤害。以“c”结尾的 Python 文件是原始文件的编译版本。
-
@adamnfish:从技术上讲,runserver 有一种模式,它不自动检查更新;不过,他实际上不太可能在那种模式下运行它。
标签: django