Sommaire

Utilisation des formulaires Django

Dans cette section, nous allons voir la classe Django Form. Cette classe ne règle pas tous les problèmes évoqués précédemment, mais elle prend en charge nombre d’entre eux :

1. Générer le formulaire avec les bons types de champs.

2. Contrôler le formulaire en Python et/ou avec les templates Django, pas en HTML.

3. Vérifier les données.

4. Gérer la conversion des données en Python.

5. Fournir des outils pour gérer certains aspects du workflow.

Avant de détailler tout cela, reprenons l’exemple précédent, mais à l’aide de Django Forms.

Fichier template :

<form action="" method="post">  
    {% csrf_token %}  
    {{ form }}  
    <input type="submit" value="go." />  
</form>  
  
{% if value %}  
    <h2>{{ entree }} élevé au carré donne : {{ value }}</h2>  
{% endif %} 

Fichier forms.py :

from django import forms  
  
class MonForm(forms.Form):   
    entree = forms.IntegerField(label=’Entrée’) 

Fichier views.py :

from django.shortcuts import render  
from django.http import HttpResponseRedirect  
from . import MonForm  
 
def formulaire_form(request):  
    value = None  
   if request.method == ’POST’:  # On récupère ...