1

Я пытаюсь получить общие представления для архива на основе даты, работающего в django. Я определил URL-адреса, как описано в учебнике, но django возвращает ошибку 404 всякий раз, когда я хочу получить доступ к URL-адресу с переменной (например, месяц или год). Он даже не создает TemplateDoesNotExist-execption. Обычные URL-адреса без переменных работают нормально.Django выбрасывает 404 в общих представлениях

Вот мой обновленный 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/это-это-слизняк/я должен получить в шаблон detail.html, но вместо Я получаю 404. Что я делаю неправильно?

И я использую Django 1.1.2

ответ

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

Я пробовал, но это не сработало. Он по-прежнему показывает 404 на каждом URL с переменными. – x0rg

+0

Вы уверены, что теперь у вас есть регулярное выражение? Отправьте обновленную версию. И вы перезапустили сервер? –

+0

обновил urlconf выше – x0rg

0

Еще раз проверьте шаблон_имя.

+0

Если шаблон не существует, я должен получить TemplateDoesNotExist-Exception, не так ли? – x0rg

 Смежные вопросы

  • Нет связанных вопросов^_^