13.8. Créer un projet Django : formulaires et validation

Página 66

L'une des principales fonctionnalités de Django est la possibilité de créer des formulaires dynamiques et efficaces pour collecter et traiter les données des utilisateurs. Dans cette section de notre cours sur la création de systèmes avec Python et Django, nous apprendrons comment créer un projet Django qui implique la création de formulaires et la validation de données.

13.8.1. Créer votre premier formulaire Django

Pour commencer, créons un nouveau fichier dans notre application Django appelé « forms.py ». Dans ce fichier, nous allons définir notre premier formulaire Django. Django fournit une classe 'forms.Form' que nous pouvons utiliser comme base pour nos formulaires. Voici un exemple de la façon dont nous pouvons définir un formulaire simple :

à partir des formulaires d'importation Django classe ContactForm(forms.Form): nom = form.CharField(max_length=100) email = formulaires.EmailField() message = form.CharField(widget=forms.Textarea)

Dans cet exemple, nous définissons un formulaire de contact avec trois champs : nom, email et message. Chaque champ est défini à l'aide d'une classe de champ spécifique à Django, telle que 'forms.CharField' ou 'forms.EmailField'.

13.8.2. Rendu de votre formulaire dans le modèle

Une fois que vous avez défini votre formulaire, vous devrez l'afficher dans un modèle afin que les utilisateurs puissent interagir avec lui. Cela peut être fait en transmettant une instance de votre formulaire au contexte du modèle, puis en utilisant la balise de modèle « form » pour afficher le formulaire. Voici un exemple de la façon dont vous pouvez procéder :

contact par définition (demande): formulaire = ContactForm() return render(requête, 'contact.html', {'form': form})

Et dans le modèle 'contact.html', vous pouvez afficher le formulaire comme ceci :

{% csrf_token %} {{ form.as_p }}

13.8.3. Traitement des données du formulaire

Lorsqu'un utilisateur soumet un formulaire, les données du formulaire sont envoyées au serveur sous forme de requête POST. Vous pouvez accéder à ces données dans Django en utilisant l'attribut 'request.POST'. Voici un exemple de la façon dont vous pouvez traiter les données du formulaire dans votre vue :

contact par définition (demande): si request.method == 'POST' : formulaire = ContactForm(request.POST) si form.is_valid() : nom = form.cleaned_data['nom'] email = form.cleaned_data['email'] message = form.cleaned_data['message'] # Traiter les données du formulaire... autre: formulaire = ContactForm() return render(requête, 'contact.html', {'form': form})

13.8.4. Valider les données du formulaire

L'un des principaux avantages de l'utilisation des formulaires Django est qu'ils peuvent gérer la validation des données pour vous. Lorsque vous appelez la méthode 'is_valid()' sur un formulaire, Django vérifie chaque champ du formulaire pour s'assurer que les données soumises sont valides. Si l'un des champs n'est pas valide, Django ajoutera une erreur au formulaire que vous pourrez afficher dans votre modèle.

En plus des contrôles de validation standards fournis par Django, vous pouvez également ajouter vos propres contrôles de validation personnalisés. Pour ce faire, vous pouvez ajouter à votre formulaire une méthode commençant par 'clean_' suivi du nom du champ que vous souhaitez valider. Voici un exemple :

classe ContactForm(forms.Form): nom = form.CharField(max_length=100) email = formulaires.EmailField() message = form.CharField(widget=forms.Textarea) def clean_email(soi) : email = self.cleaned_data.get('email') si "hotmail.com" dans l'e-mail : raise form.ValidationError("Veuillez utiliser une autre adresse e-mail.") retourner l'e-mail

Dans cet exemple, nous avons ajouté une vérification de validation personnalisée au champ e-mail pour garantir que l'utilisateur n'utilise pas d'adresse e-mail Hotmail.

En résumé, la création de formulaires et la validation des données sont des éléments essentiels de toute application Web. Heureusement, Django rend ce processus très simple grâce à ses puissantes fonctionnalités de formulaire.

Répondez maintenant à l’exercice sur le contenu :

Quelle est l’une des fonctionnalités clés de Django mentionnées dans le texte ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

6713.9. Création d'un projet Django : authentification des utilisateurs

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte