我试图在网址中匹配两个字符串,但由于我对正则表达式的了解不足而无法解决问题。我想要以下网址:
用户名将作为kwarg传递到url。这就是我所拥有的:
url(r'^(?P<username>[-\w]+)/$', Posts_Index, name="userposts"),
url(r'^(?P<username>[-\w]+)/photos/$', Photo_Index, name="userphotos"),
url(r'^(?P<username>[-\w]+)/rewards/$', Rewards_Index, name="userrewards"),
url(r'^(?P<username>[-\w]+)/following/$', Follower_Index, name="userfollowers"),
url(r'^(?P<username>[-\w]+)/followers/$', Following_Index, name="userfollowing"),
url(r'^(?P<username>[-\w]+)/(?P<pk>\d+)/$', SinglePost_Index, name="singlepost"),
但是,只会找到用户信息。如果我尝试查询userphotos或userposts以下的任何内容,则只会检查userposts url,这显然会导致失败。我该如何解决这个问题?
答案 0 :(得分:0)
来自django docs:Django runs through each URL pattern, in order, and stops at the first one that matches the requested URL.
因此,如果你颠倒网址的顺序,它应该更好。