【发布时间】:2016-06-11 17:44:53
【问题描述】:
除了几个数据驱动的应用程序之外,网站还有一个主页。没问题。但是当我尝试添加其他非数据驱动的页面(关于、使命宣言等)时,我遇到了通过 url 指示的问题。
settings.py url 模式包括:
url(r'^$', include('home.urls')),
url(r'^mission/$', include('home.urls')),
home/urls.py 包括:
url(r'^$', views.index, name='index'),
url(r'^mission/$', views.mission, name='mission'),
将浏览器指向主页会按原样加载索引视图,但将浏览器指向/mission/也会加载索引视图。
我意识到我可能在这里遗漏了一些小(和基本)的东西,但我已经阅读了第一百次文档并阅读了很多其他人关于 urlpatterns 的问题,但我就是想不通这是怎么回事。 settings.py 中的 include() 语句似乎不是问题。由于主页索引视图加载它显然被定向到 home/urls.py,并且该文件非常简单,以至于我看不出有什么问题。
有人可以教育我,以便我可以继续我的下一个 Django 砖头吗?我很感激。
已解决 - 谢谢 Sohan Jain
实际问题是在设置 URLPATTERNS 中使用 r'^$' 而不是 r''。使用第二个 include() 语句试图解决实际问题。
【问题讨论】:
-
你有两个同名的 url,这不是应该的。名称应该是唯一的,或者如果您有相同的名称,则需要将它们放在不同的名称空间中。你也不能
include(...)使用以$结尾的模式 -
我不明白你为什么在这里使用了两次 include。
-
@Daniel,没有它我得到了 404。
标签: python django python-3.x django-urls