【发布时间】:2021-06-16 05:11:00
【问题描述】:
我正在创建一个 Django 应用程序并有几个 URL
path('survey/<url_id>/<token>/', views.take_questionnaire, name='take-survey'),
path('survey/results/<url_id>/', views.view_results, name='view-results'),
我正在尝试访问“查看结果”网址 - http://127.0.0.1:8000/survey/results/lqH16jwM19Y6LLd/ - 但由于某种原因,这会触发“take-survey”网址。如果我更改网址的顺序,它们似乎可以工作,但我很好奇是什么原因造成的。
我以前从未遇到过这种情况,也许我在学习 django url 时错过了一些东西。有人可以解释为什么第一个 URL 被触发而不是第二个吗?
【问题讨论】:
-
网址非常相似。如果你把它改成
path('survey/results/view/<url_id>/', views.view_results, name='view-results'),就可以了。 -
因为
results是<url_id>的一个很好的候选者,它在给定的模式中没有规范,所以任何文本都足够了。 -
是的,这就是我的想法。有没有办法让我指定
必须有 15 个字符?
标签: django django-views django-urls