Sommaire

Créer un formulaire à partir d’un modèle

Vous aurez sûrement remarqué que les champs des formulaires ressemblent beaucoup aux champs des modèles de l’ORM, et ce n’est pas un hasard.

Les formulaires peuvent avoir deux objectifs : saisir des informations diverses (comme pour l’exemple de la newsletter), informations qui ne sont pas « connectées » avec un modèle ou au contraire effectuer la saisie d’informations pour renseigner (modifier ou créer) un modèle. Dans ce dernier cas, on va se retrouver à redéfinir à peu près les mêmes champs dans le formulaire que dans le modèle. Django propose évidemment une solution qui permet de créer directement un formulaire à partir d’un modèle. Django crée le formulaire avec un champ approprié et de même nom que chaque champ du modèle. En plus, Django permet de choisir les champs du modèle qui seront présents dans le formulaire.

Exemple :

from django.forms import ModelForm  
from simpleblog.models import Article  
  
# Création du formulaire.  
class ArticleForm(ModelForm):  
     class Meta:  
         model = Article  
         fields = [’date_de_publication’, ’titre’, ’texte’,]  
  
# Créer un formulaire « vide » ...