Un petit exemple qui pourrait t'inspirer : http://djangosnippets.org/snippets/2627/
Il faudrait effectivement verifier la validité des 2 slugs avant d'aller dans la vue détail. Julien Le 19 février 2012 20:40, bluerat <[email protected]> a écrit : > Bonjour, > > Je commence à apprendre Django afin de refaire la refonte de mon site :-) > > Pour cela, je me sers de divers scripts disponibles pour la partie "blog", > comme par exemple : > https://github.com/nathanborror/django-basic-apps/tree/master/basic/blog > > J'aimerai que l'URL d'un article soit de la sorte : > http://www.monsite.fr/blog/"categorie"/"slug de l'article" > En remplaçant "categorie" par le slug de la catégorie dans laquelle est > l'article, et "slug de l'article" par le slug de l'article ^^ > > Pour l'instant j'ai ceci dans mes urls : > [code] > url(r'^([\w-]+)/(?P<slug>[\w-]+)/$', > 'django.views.generic.list_detail.object_detail', > dict( > queryset=Post.online_objects.all(), > slug_field='slug', > ), > name='blog_post', > ), > [/code] > > Et voici la méthode get_absolute_url() issue du modèle des articles > permettant de récupérer l'URL de l'article afin de l'afficher en cliquant > dessus : > [code] > @models.permalink > def get_absolute_url(self): > return ('blog_post', [self.category.slug, self.slug]) > [/code] > > Alors j'arrive bien à afficher mon article avec l'url souhaitée, par > exemple : /blog/django/sortie-de-django-13. > Cependant, si je modifie à la main la catégorie, par exemple > /blog/djnafsfs/sortie-de-django-13, et bien l'article s'affiche quand > même, ce qui au final est normal et concorde bien avec la regex dans les > URLS. > Cependant j'aimerai dans ce cas là rediriger vers une erreur 404, ou au > pire faire une redirection automatique vers la bonne url (comme le font > certains CMS). > Bref, comment vérifier que la catégorie dans l'url est bien correcte ? > > Niveau référencement, est-ce optimal d'afficher le nom de la catégorie > dans l'url, ou juste le slug de l'article suffit ? (dans ce cas là je me > prends la tête pour rien ^^) > > Merci d'avance pour votre aide :) > > (PS : je risque de revenir si je rencontre d'autres problèmes, vu que je > débute avec Django :p) > _______________________________________________ > django mailing list > [email protected] > http://lists.afpy.org/mailman/listinfo/django >
_______________________________________________ django mailing list [email protected] http://lists.afpy.org/mailman/listinfo/django
