2012-12-12 4 views
1

url 패턴의 다른 부분에 설명 된 URL을로드하려고하면 동일한보기가로드됩니다. 분명히, 내가 사용하는 urlpatterns에 오류가 있지만 그것을 찾을 수 없습니다.잘못된 URL 패턴

urlpatterns = patterns('', 
    (r'$', seasons_list), 
    (r'(?P<season>\d{1})/$', episodes_by_season), 
    (r'(\d{1})/(\d{1})/$', episode), 
) 

매번 내가 "/ 에피소드/1"또는 같은 URL을로드하려고 :

urlpatterns = patterns('', 
url(r'^admin/', include(admin.site.urls)), 
url(r'^$', home), 
url(r'^comments/', include('django.contrib.comments.urls')), 
(r'^media/(?P<path>.*)$', 'django.views.static.serve', { 
    'document_root': settings.MEDIA_ROOT}), 
url(r'^episodes/', include('episodes.urls')), 
url(r'^news/', news), 
url(r'', include('zinnia.urls')),)) 

그리고 여기가 episodes.urls에서 urlpatterns입니다 : 여기

첫 번째 urls.py 파일입니다 "/ episodes/1/2", django는 seasons_list 뷰만 사용합니다.

답변

1

모든 URL의 끝이 문자열이기 때문에 항상 첫 번째 패턴과 일치합니다. 포함 된 URL 집합 only get the part after the match부터 시작 앵커를 모두에 추가하십시오.

장고 include() (django.conf.urls.include())를 발견 할 때마다, 그것은 오프 자르면 어떤 시점까지의 URL과 일치하는 부분 및 추가 처리를 위해 포함 URLconf 남은 문자열을 전송한다.

urlpatterns = patterns('', 
    (r'^$', seasons_list), 
    (r'^(?P<season>\d{1})/$', episodes_by_season), 
    (r'^(\d{1})/(\d{1})/$', episode), 
)