我正在尝试配置Django url调度程序。我希望/results
呈现我的results
模板,而/results/3
呈现我的user_results
模板,例如参数为3
。如果我使用以下代码:
url(r'^results/', views.results, name='results'),
url(r'^results/(\d+)/$', views.user_results, name='user_results')
然后/results
和/results/3
都只加载呈现results
模板。但是,如果我注释掉第一行,那么/results/3
将按预期呈现user_results
模板。你知道吗
为什么/results/3
只匹配第二个url而忽略了第一个url?你知道吗
/results/3
与url模式匹配,因为正则表达式没有字符串$
的结尾。请注意以下内容之间的区别:最简单的(可能也是最好的)方法是在第一个url模式中添加一个字符串结尾
$
:你可以反转你的url模式。一旦找到匹配的url模式,dispatcher将停止搜索url模式,并立即进行调度。请尝试以下操作:
相关问题 更多 >
编程相关推荐