Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

Les redirections et réponses spéciales sous Django

Article posté le 29-09-2014 dans la catégorie Django

Django vous permet de faire, comme tout framework, des réponse un peu particulière mais nécessaires, commes les erreurs quand un page n'est pas trouvée par exemple. Commençons!

1- Erreur 404

Django déclenche lui-même une erreur 404 si aucune route ne correspond à l'url demandée. Cependant, le développeur peut vouloir en déclencher une lui-même, si par exemple un article demandé n'existe pas.

Pour cela, il suffit dans votre vue de mettre ceci :

raise Http404

2- Effectuer une redirection

A présent imaginons que vous souhaitiez rediriger le visiteur. Dans le cas d'une redirection vers un autre site :

return redirect("http://www.leur-site.com")

Dans le cas d'une page interne, il faut spécifier la vue :

return redirect(view_redirection)

Vue que vous aurez défini :
 

def view_redirection(request):
    return HttpResponse(u"Vous avez été redirigé ici car...")

et dans le fichier urls.py :

url(r'^redirection/$', 'view_redirection'),

On aurait aussi pu rediriger vers une image précise :

return redirect('afficher_image', id_image=6521)

Voilà, je complèterai au fur et à mesure!

 


Tweet
comments powered by Disqus