我的网址:
/测试/ 1 / 24-25-06-2016 /
url(r'^test/(?P<item>\w+)/(?P<added>[-\w]+)/$', ItemView.as_view(), name='item'),
url(r'^test/(?P<item>\w+)/24-25-06-2016/$', ItemViewOther.as_view(), name='item-other'),
views.py
class ItemView(FormView):
def dispatch(self, request, *args, **kwargs):
if not int(self.kwargs['item']) in [1, 2, 3]:
raise Http404
if not self.kwargs['added'] in [
'20-21-06-2016',
'22-23-06-2016',
]:
raise Http404
为什么我得到404
?我认为它应该返回ItemViewOther
视图。
答案 0 :(得分:2)
Django总是按顺序匹配。由于[-\w]+
匹配24-25-06-2016
,因此将使用第一个模式。