【发布时间】:2019-04-21 09:05:10
【问题描述】:
我有一个 Django 应用程序在几天前正确解析了 url,但现在不再这样做了。查看我的 git 日志,没有任何与 url 相关的更改,但突然出现 Django 没有为相关应用程序加载 url。
调试页面显示应用已安装(尽管它是加载顺序中的最后一个,如果这很重要的话)。我看到的行为暗示 Django 要么忽略或覆盖应用程序的 urls.py 文件的只有某些部分——但是,应用程序在同一个 urls.py 文件中定义的一些 url 会加载!
命名空间:虽然它可能会解决这个问题,但我正在尝试覆盖现有的非命名空间 url,并且无法重构存在于我的应用范围之外的代码来建立命名空间。所以这不是一个选择。我只是想胜过父项目的 url 解析,所以我的视图被调用而不是 stock。
模板标签:它们看起来是正确的,但更重要的是,这与渲染失败无关,而是与最初不存在的 url 有关。
示例:有问题的视图名称是“objects”,但这些对象视图都不起作用。作为我的困惑来源的一个例子,这是我在访问虚假页面 (/efwefwefijiefj/) 时遇到的 404 错误的内容:
Using the URLconf defined in web.urls, Django tried these URL patterns, in this order:
^objects/detail/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/$ [name='object-detail']
^objects/create/$ [name='object-create']
^objects/$ [name='objects']
...
我们都可以看到objects 是一个命名视图,它所属的应用程序存在,并且它是第一个评估的 URL 之一。但是,如果您尝试真正转到到/objects/ 页面,则会收到NoReverseMatch 错误。
任何帮助将不胜感激!
【问题讨论】:
-
请发布您的配置。
-
检查你的
url模板标签