====== Formulaires avec Django ====== Créer des formulaires avec Django est assez simple, en tout cas pas plus compliqué que de créer des formulaires html classiques. Quelques principes doivent être respectés pour assurer un bon fonctionnement au formulaire ===== Méthode POST vs GET ===== Le principe est le suivant : * Si le formulaire contient des données susceptibles d'altérer le contenu de la base de données, la méthode à utiliser est POST. C'est une bonne pratique et même une [[http://www.w3.org/2001/tag/doc/whenToUseGet.html|recommandation du W3C]] (c'est dire...). ===== Réponse POST ===== Après avoir posté avec succès, renvoyer un réponse de type [[https://docs.djangoproject.com/en/1.5/ref/request-response/#django.http.HttpResponseRedirect|HttpResponseRedirect]] -> [[https://en.wikipedia.org/wiki/HTTP_302|HTTP 302]] ===== Cross Site Request Forgeries ===== Ajouter systématiquement le tag //csrf// pour éviter les [[https://fr.wikipedia.org/wiki/Cross-site_request_forgery|attaques de type CSRF]] {% csrf_token %}