我有以下网址:
url(r'^(?P<college_name>\w+)/$', views.detail, name="detail"),
url(r'^(?P<photographer_username>\w+)/$', views.photographer, name="photographer"),
当我输入/college_name
url时,它可以工作,但是当输入website.com/johnsmith
这样的摄影师时,它只搜索第一个url模式,然后停止。在
如果我把photographer
url模式放在第一位,它适用于摄影师,而不是大学。在
我如何修复它,使它对两者都有效?在
您应该区分这两种url模式,否则后者总是被前者遮蔽。在
也许在这两个词前面加上一个独特的字符串:
正如其他人所说的,计算机无法自行决定选择哪个视图。最好的解决方案是有不同的路径,比如}。在
/photographer/
和{如果您坚持两个视图使用相同的url方案,则需要告诉程序如何区分。在
Url定义:
选择其中一个的视图:
^{pr2}$不建议这样做,因为如果存在名称冲突,则会遇到问题。在
这怎么可能奏效?就像你说的,正则表达式是一样的。那么Django怎么知道你的意思呢?它不能,所以它只选第一个。在
解决这个问题的唯一方法是更改您的url,使它们不再只有名称:例如“/photograph/(?P\w+/$”等
相关问题 更多 >
编程相关推荐