You are on page 1of 3

CII-3-GLSI 2021-2022

Django TP N°5 : Les Formulaires Dr. OMRI Faten

La création de formulaires avec Django est assez simple et pleine de fonctionnalités. Vous
pouvez générer des formulaires à partir de vos modèles ou bien les créer directement depuis
des classes.
Question1 : Créer un projet Django intitulé … dans un environnement virtuel python
Question2: Créer dans ce projet une application nommé MyContact
Question3 : Vous devrez également créer un modèle que vous appelerez Contact avec les
champs suivants :
• firstname
• lastname
• Email
• Message :
Question4: Appliquer les migrations pour créer la base de données
Question5 : Dans le fichier models.py ajouter la classe contactForm qui hérite de la classe
ModelForm

On définit alors notre classe qui va permettre de générer notre formulaire en la faisant
dériver de ModelForm et en lui spécifiant le modèle à inclure "Contact". Il ne nous reste plus
qu’à déclarer une nouvelle variable qui sera une instance de la nouvelle classe créée et à la
passer en tant que donnée à notre template. Pour cela, ajouter la fonction contact dans le
fichier views.py :
Question 6 : Créer les urls correspondantes afin d’accéder et afficher contact.html

Question 7 : Créons maintenant notre template qui se nommera contact.html dans


MyContact/templates/ MyContact que l’on remplit comme ceci :

Nous affichons ici directement notre objet contact_form et on lui associe une option
d’affichage ’as_p’ qui signifie que le formulaire sera affiché en utilisant la balise ’<p>
Lancer le serveur

Question 8 : nous allons nous intéresser à la création de formulaires sans utiliser de modèle,
directement avec le module forms de Django. Créons maintenant notre formulaire
ContactForm2 dans un nouveau fichier nommé forms.py ajouté au sein du l’application :

Dans le fichier views ajouter la fonction contact2 :

Ajouter ainsi les instructions nécessaires (dans le fichier urls.py) pour affecter une url au
fonction contact2. Ensuite, créer une page html contact2.html lié au view contact2

Lancer ainsi le serveur et vous devez avoir même résultat que la méthode précédente avec
les formulaires basées sur les modèles

On obtient donc deux formulaires identiques créés de deux façons différentes !


Modifier la fonction contact2 dans le fichier views.py

Modifier la réponse HttResponse pour afficher les détails du contact ajouté dans une autre
page html

You might also like