Джанго бросает 404 при общих взглядах - PullRequest
1 голос
/ 12 мая 2010

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

Вот мой обновленный 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')),
)

Когда я получаю доступ к / events / 2010 / may / 12 / this-is-a-slug /, мне нужно перейти к шаблону detail.html, но вместо этого я получаю 404. Что я делаю неправильно?

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

Ответы [ 2 ]

2 голосов
/ 12 мая 2010

Вы забыли обратную косую черту в своих регулярных выражениях:

(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 голосов
/ 15 мая 2010

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

...