【发布时间】:2018-11-16 16:53:04
【问题描述】:
请解释一下为什么以下代码适用于http://127.0.0.1:8000/index/1/ 而不适用于http://127.0.0.1:8000/1/:
我的网站\urls.py
urlpatterns = [
path('index/', include('polls.urls')),
path('1/', include ('polls.urls')),
]
投票\urls.py
urlpatterns = [
path('1/', views.polls, name='z'),
path('', views.index, name='index'),
]
Django 不接受缺少一些类似索引的路径,一切都建立在它之上吗?
【问题讨论】:
-
“代码不适用于...”是什么意思?你有任何错误吗?
-
它仅在地址中的“index/”之后显示“1/”的视图,例如 127.0.0.1:8000/index/1,并且它不能仅识别 127.0。 0.1:8000/1/,我得到 404
-
黄色调试页面的完整错误信息会告诉你Django尝试了哪些路径,这将有助于解释发生了什么。确保您已保存所有文件并重新启动服务器,以便您运行您认为的代码。
-
我再次检查过,所以:对于 127.0.0.1:8000/index 带来索引视图(正确),对于 127.0.0.1:8000/1 也索引视图(不正确),对于 127.0 .0.1:8000/index/1 它为/1(正确)呈现视图。为什么它仅在 /index/1 的情况下识别(显示右视图)/1? '/1' 模式的路径在 ' ' 模式(用于索引)之前,因此应该首先捕获它。