1

django에서 작동하는 날짜 기반 아카이브의 일반 뷰를 얻으려고합니다. 튜토리얼에서 설명한대로 URL을 정의했지만 django는 URL에 변수 (예 : 월 또는 연도)를 액세스하려고 할 때마다 404 오류를 반환합니다. 그것은 심지어 TemplateDoesNotExist-execption을 생성하지 않습니다. 변수가없는 일반 URL은 정상적으로 작동합니다.Django는 일반 뷰에서 404를 throw합니다.

은 여기 내 업데이트 urlconf :

from django.conf.urls.defaults import * 
from zurichlive.zhl.models import Event 

info_dict = { 
     'queryset': Event.objects.all(), 
     'date_field': 'date', 
     'allow_future': 'True', 
} 

urlpatterns += patterns('django.views.generic.date_based', 
    (r'events/(?P<year>\d{4})/(?P<month>[a-z]{3})/(?P<day>\w{1,2})/(?P<slug>[-\w]+)/$', 'object_detail', dict(info_dict, slug_field='slug', template_name='archive/detail.html')), 
    (r'^events/(?P<year>\d{4})/(?P<month>[a-z]{3})/(?P<day>\w{1,2})/(?P<slug>[-\w]+)/$', 'object_detail', dict(info_dict, template_name='archive/list.html')), 
    (r'^events/(?P<year>\d{4})/(?P<month>[a-z]{3})/(?P<day>\w{1,2})/$','archive_day',dict(info_dict,template_name='archive/list.html')), 
    (r'^events/(?P<year>\d{4})/(?P<month>[a-z]{3})/$','archive_month', dict(info_dict, template_name='archive/list.html')), 
    (r'^events/(?P<year>)/$','archive_year', dict(info_dict, template_name='archive/list.html')), 
    (r'^events/$','archive_index', dict(info_dict, template_name='archive/list.html')), 
) 

나는/이벤트/2010/액세스 할 때 수도/12 /이 - 인 - 어 - 슬러그는/I는 detail.html 템플릿에 도착, 대신한다 나는 404를 얻는다. 나는 무엇을 잘못하고 있냐?

그리고 당신은 당신의 정규 표현식에있는 백 슬래시 잊어

답변

2

장고 1.1.2 사용하고 있습니다 또한

(r'events/(?P<year>\d{4})/(?P<month>[a-z]{3})/(?P<day>\w{1,2})/(?P<slug>[-\w]+)/$' 

을 당신이 (제대로) 그래서 당신을 슬래시로 끝나는 URL 정규식있어 URL은 /events/2010/may/12/this-is-a-slug/이어야합니다.

+0

나는 그것을 시도했지만 작동하지 않았다. 변수가있는 모든 URL에 404가 표시됩니다. – x0rg

+0

당신은 확실한 정규 표현식을 가지고 있습니까? 업데이트 된 버전을 게시하십시오. 그리고 서버를 다시 시작 했습니까? –

+0

위의 urlconf가 – x0rg

0

template_name을 다시 한번 확인하십시오.

+0

으로 업데이트되었습니다. 템플릿이 없으면 TemplateDoesNotExist-Exception을 받아야합니까? – x0rg