1

J'essaie d'obtenir les vues génériques pour une archive basée sur la date qui fonctionne dans django. J'ai défini les URL comme décrit dans un tutoriel, mais django renvoie une erreur 404 chaque fois que je veux accéder à une URL avec une variable (telle que mois ou année). Il ne produit même pas un TemplateDoesNotExist-execption. Les URL normales sans variables fonctionnent bien.Django lance 404 dans les vues génériques

Voici mon mis à jour 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')), 
) 

Quand j'accès/événements/2010/mai/12/this-is-a-limace/je devrais arriver au modèle de detail.html, mais Je reçois un 404. Qu'est-ce que je fais mal?

Et j'utilise Django 1.1.2

Répondre

2

Vous avez oublié les antislashs dans votre regexes:

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

vous avez aussi (correctement) a obtenu la regex URL se terminant par une barre oblique, de sorte que votre L'URL doit être /events/2010/may/12/this-is-a-slug/.

+0

J'ai essayé, mais cela n'a pas fonctionné. Il montre toujours un 404 à chaque URL avec des variables. – x0rg

+0

Etes-vous sûr que vous avez la regex correcte maintenant? S'il vous plaît poster votre version mise à jour. Et avez-vous redémarré le serveur? –

+0

mis à jour l'urlconf ci-dessus – x0rg

0

Vérifiez à nouveau le template_name.

+0

Si le modèle n'existe pas, je devrais obtenir une exception TemplateDoesNotExist, ne devrais-je pas? – x0rg

Questions connexes