138 votes

Rediriger vers nommée modèle d'url directement à partir de urls.py dans django?

Dans Django, comment puis-je faire une simple redirection directement à partir de urls.py? Naturellement, je suis un mec, en favorisant le principe SEC, donc je voudrais obtenir la cible basée sur il est nommé modèle d'url, plutôt que le codage en dur l'adresse url.

210voto

thnee Points 1356

Si vous êtes sur Django 1.4 ou 1.5, vous pouvez faire ceci:

from django.core.urlresolvers import reverse_lazy
from django.views.generic import RedirectView

urlpatterns = patterns('',
    url(r'^some-page/$', RedirectView.as_view(url=reverse_lazy('my_named_pattern'))),
    ...

Si vous êtes sur Django 1.6 ou supérieure, vous pouvez faire ceci:

from django.views.generic import RedirectView

urlpatterns = patterns('',
    url(r'^some-page/$', RedirectView.as_view(pattern_name='my_named_pattern')),
    ...

-2voto

kravietz Points 908

J'aimerais utiliser la redirection de raccourci - propre, élégant et souple (voir la doc):

from django.shortcuts import redirect

...
url(r'^some-page/$', redirect('my_named_pattern'))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X