Regex Django url Dispatcher与错误的正则表达式匹配
我创建了以下URL模式Regex Django url Dispatcher与错误的正则表达式匹配,regex,django,Regex,Django,我创建了以下URL模式 urlpatterns=[ url(r'(?P<user_name>[a-zA-Z]+)/$', views.profile_view, kwargs=None, name='userprofile'), url(r'(?P<user_name>[a-zA-Z]+)/interests/$',views.interest,name='interests') ] urlpatterns=[ url(r'(?P[a-
urlpatterns=[
url(r'(?P<user_name>[a-zA-Z]+)/$', views.profile_view,
kwargs=None, name='userprofile'),
url(r'(?P<user_name>[a-zA-Z]+)/interests/$',views.interest,name='interests')
]
urlpatterns=[
url(r'(?P[a-zA-Z]+)/$”,views.profile_view,
kwargs=None,name='userprofile'),
url(r'(?P[a-zA-Z]+)/interests/$',views.interest,name='interests')
]
但当我输入url localhost:8000/mainuser/interest/时,它会将其作为第一个url并打开profile\u视图。它显然与“/”匹配。请帮我解决这个问题。您应该以行首字符
^
开始URL模式。因为没有包含此字符,所以第一个模式的正则表达式将匹配任何以1个或多个字符结尾并后跟正斜杠的URL
urlpatterns=[
url(r'^(?P<user_name>[a-zA-Z]+)/$', views.profile_view, kwargs=None, name='userprofile'),
url(r'^(?P<user_name>[a-zAZ]+)/interests/$',views.interest,name='interests'),
]
urlpatterns=[
url(r'^(?P[a-zA-Z]+)/$',views.profile_view,kwargs=None,name='userprofile'),
url(r'^(?P[a-zAZ]+)/interests/$',views.interest,name='interests'),
]
您应该以行首字符开始URL模式。因为没有包含此字符,所以第一个模式的正则表达式将匹配任何以1个或多个字符结尾并后跟正斜杠的URL
urlpatterns=[
url(r'^(?P<user_name>[a-zA-Z]+)/$', views.profile_view, kwargs=None, name='userprofile'),
url(r'^(?P<user_name>[a-zAZ]+)/interests/$',views.interest,name='interests'),
]
urlpatterns=[
url(r'^(?P[a-zA-Z]+)/$',views.profile_view,kwargs=None,name='userprofile'),
url(r'^(?P[a-zAZ]+)/interests/$',views.interest,name='interests'),
]
试试localhost:8000/mainuser/interests/
(注意最后一个感兴趣的s
)。@Alasdair它没有帮助。无论我在mainuser之后输入多少斜杠,它都与它们匹配,请尝试localhost:8000/mainuser/interests/
(注意最后一个s
的兴趣)..@Alasdair这没有帮助。无论我在主用户之后输入多少斜杠,它都与之匹配,我都配得上天堂