Attention, le contenu cet article est peut-être obsolète !
Comment réaliser des réponses particulières sous DjangoDjango 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!
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
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!