Plusieurs solutions existent pour créer des redirections, mais souvent elle implique de gérer des vues spécifiques. La solution de mettre en place une redirection dans la gestion des 'url' et non dans une vue peut être plus que pratique.

Solution :

Pour mettre en place une redirection dans la gestion des urls, il vous faut édité le fichier 'url.py' de l'application.

Dans un 1er temps nous allons changer le module qui ce changera des redirections. 

from django.conf.urls import patterns, include, url

from django.views.generic import RedirectView

....

Puis vous pouvez les mettre en place les redirections pour certaines URL.

EX: 

urlpatterns = patterns('', 
# adminstration
(r'^admin/', include(admin.site.urls)),
#url pour les bugs
#(r'^bug/', 'app.views.bug'), # désactiver
(r'^bug/', RedirectView.as_view(url='/forum/nav/probleme-sur-le-site/')),
 
......

A partir de maintenant le résulta de url "/bug" ira vers "/forum/nav/probleme-sur-le-site/".

Sources : https://docs.djangoproject.com/en/1.1/ref/generic-views/

  • Partager
  • Url: http://www.duhaz.fr/blog/django-commant-faire-un-redirection-dans-le-fichier-urlpy/