2016-05-31 2 views
-1

내 URL :Django urls - URL이 유사한 경우 어떤보기가 먼저 나타 납니까?

/테스트/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보기를 반환해야합니다.

+1

디버깅 도움말 ("이 코드가 작동하지 않는 이유는 무엇입니까?")에는 원하는 동작, 특정 문제 또는 오류 및 질문 자체에서이를 재현하는 데 필요한 가장 짧은 코드가 포함되어야합니다. 분명한 문제 성명이없는 질문은 다른 독자에게 유용하지 않습니다. 참고 : [mcve] – Sayse

답변

2

장고는 항상 순서대로 일치합니다. [-\w]+24-25-06-2016과 일치하므로 첫 번째 패턴이 사용됩니다.

+0

어떻게이 문제를 해결할 수 있습니까? 그래서이 URL'/ test/1/24-25-06-2016 /'는'ItemViewOther'를 반환해야합니다. –

+0

그런 다음 먼저 입력하십시오. –

관련 문제