17.5 Vues dans Django : Travailler avec des formulaires

17.5 Vues dans Django : Travailler avec des formulaires

Les vues dans Django sont une partie essentielle du développement d'applications Web avec le framework Django. Ils sont responsables du traitement des requêtes HTTP et de la fourniture de réponses HTTP. L'une des fonctions les plus courantes des vues consiste à travailler avec des formulaires.

Les formulaires constituent un élément fondamental des applications Web. Ils permettent aux utilisateurs d'interagir avec l'application en envoyant des données pouvant être traitées par le serveur. Dans Django, travailler avec des formulaires se fait principalement via des vues.

Créer des formulaires avec Django

Django fournit une abstraction puissante pour travailler avec des formulaires : la classe Form. Cette classe vous permet de définir les champs du formulaire, leurs validations et comment ils doivent être rendus.

Pour créer un formulaire avec Django, vous devez sous-classer Form et définir les champs que vous souhaitez sur le formulaire. Chaque champ est une instance d'une classe Field, qui définit le type de données du champ et comment il doit être validé et restitué.

Exemple de formulaire

    
    à 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)
    
    

Travailler avec des formulaires dans des vues

Une fois que vous avez défini un formulaire, vous pouvez l'utiliser dans une vue pour traiter les requêtes HTTP. La vue doit vérifier si la requête est un POST ou un GET. S'il s'agit d'un POST, la vue doit créer une instance du formulaire avec les données POST, valider le formulaire et, s'il est valide, traiter les données. S'il s'agit d'un GET, la vue doit créer une instance vide du formulaire et la restituer.

Exemple de vue avec formulaire

    
    à partir du rendu d'importation de Django.shortcuts
    à partir de .forms importer ContactForm

    contact par définition (demande):
        si request.method == 'POST' :
            formulaire = ContactForm(request.POST)
            si form.is_valid() :
                # traiter les données
                passer
        autre:
            formulaire = ContactForm()
        return render(requête, 'contact.html', {'form': form})
    
    

Formulaires de rendu

Django propose plusieurs façons de restituer des formulaires. Vous pouvez afficher le formulaire dans son ensemble, afficher des champs individuels ou afficher manuellement le formulaire. Le rendu du formulaire est effectué dans le modèle, pas dans la vue.

Exemple de rendu de formulaire

    
    <form method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <input type="soumettre" value="Soumettre">
    </formulaire>
    
    

Travailler avec des formulaires dans Django peut sembler complexe à première vue, mais une fois que vous aurez compris le flux de travail, vous constaterez que Django fournit un moyen très puissant et flexible de gérer les formulaires.

Conclusion

Les vues dans Django jouent un rôle crucial dans la gestion des formulaires. Ils vous permettent de traiter les données du formulaire, de les valider et de renvoyer les réponses appropriées à l'utilisateur. Avec de la pratique, vous deviendrez plus à l'aise avec les formulaires et les vues dans Django.

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

_Quelle est la fonction des Vues dans Django dans le développement d'applications web ?

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

Vous avez raté! Essayer à nouveau.

Image de l'article Vues dans Django : validation des données

Page suivante de lebook gratuit :

97Vues dans Django : validation des données

4 minutes

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