Django #12 – Forms (2/2)

Posted by

Django #12 – formulaires (2/2)

Django #12 – formulaires (2/2)

Les formulaires sont un élément essentiel de toute application web. Django facilite la gestion des formulaires en fournissant des classes et des outils utiles pour les créer et les manipuler.

Dans la première partie de ce tutoriel, nous avons vu comment créer des formulaires simples en utilisant les Form et ModelForm de Django. Dans cette deuxième partie, nous allons explorer quelques fonctionnalités avancées des formulaires Django.

Gestion des erreurs de validation

L’une des tâches les plus importantes lors de la création de formulaires est la gestion des erreurs de validation. Django facilite la validation des données saisies par l’utilisateur en fournissant des méthodes de validation intégrées. Par exemple, vous pouvez utiliser la méthode clean_field_name dans votre formulaire pour valider un champ spécifique.

class MyForm(forms.Form):
    email = forms.EmailField()

    def clean_email(self):
        email = self.cleaned_data.get('email')
        if not email.endswith('@example.com'):
            raise forms.ValidationError("L'adresse e-mail doit se terminer par '@example.com'")
        return email

Personnalisation des champs de formulaire

Django vous permet de personnaliser l’apparence et le comportement des champs de formulaire en utilisant des widgets. Vous pouvez définir des widgets spécifiques pour chaque champ de votre formulaire en utilisant l’attribut widget.

class MyForm(forms.Form):
    name = forms.CharField(widget=forms.TextInput(attrs={'class': 'my-class'}))

Utilisation des vues de formulaires génériques

Les vues de formulaires génériques de Django sont des classes prédéfinies qui simplifient la gestion des formulaires. Vous pouvez utiliser des vues de formulaires génériques pour créer, afficher, mettre à jour et supprimer des objets à l’aide de formulaires en quelques lignes de code seulement.

from django.views.generic.edit import CreateView
from .models import MyModel

class MyModelCreateView(CreateView):
    model = MyModel
    fields = ['name', 'email']
    success_url = '/success/'

Ce tutoriel n’est qu’une introduction aux formulaires Django. Pour en savoir plus, consultez la documentation officielle de Django sur les formulaires : Django Forms.

0 0 votes
Article Rating
6 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@Ben2ci
5 months ago

Waouuu quelle qualité pédagogique

@Joel-mq6ht
5 months ago

Bsr, très bon vidéo. Mais lorsque je crée mes règles elle fonctionne mais n'affiche pas les messages d'erreurs que j'ai spécifiés

@amelechammem9762
5 months ago

Bonjour, tout d'abord merci pour vos vidéos ils sont très claires. Dans mon cas je suis entrain de créer des checkboxs, qui quand je les coche, une valeur de type entier s'ajoute dans la base, pour ceci j'ai créer un model avec les différents choix de checkbox, mais j'ai du mal à le faire tourner est-ce tu peux m'aider avec une idée ou une autre méthode pour faire ceci?

@drelindrelin8892
5 months ago

Bonjour Jason, déjà, merci pour tes vidéos, c'est clair, fonctionnel, tout ce que j'aime ^^
Je cherche à rendre mon code encore plus générique pour faire un tableau qui s'adapterait aux différentes tables de ma base de données et donc pour ça, je cherche la balise (? j'ai pensé balise mais ça se trouve django fait ça avec autre chose) qui permettrait d'appeler les noms de colonnes de ma table. Un truc du genre SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'maTable', mais sous forme de balise, de la même manière qu'on peut faire appel aux models avec des balises, ça existe ? Je cherche sur le net, mais je dois mal poser ma question parce que je trouve rien ^^'.
Merci encore pour tes vidéos, j'attends la suite avec impatience.

@__LIAM.77
5 months ago

Bonjours c'est peut-être pas le meilleur endroit ou poser ma question mais bon, je suis ta série sur le C++ qui a 1 ans du moin sur la vidéo je ne sais pas si tu a déjà traité du sujet mais comment on fais pour build un projet avec visual studio code ou autre quand je dit build par exemple si tu fais un jeux et que tu veut le publier ou bien le partage comment tu fais ya une commande dans la cmd ? je me pose la question Merci d'avance pour t'as réponse et merci d'avoir pris le temps de me lire ^^

@youbra4267
5 months ago

Merci merci beaucoup ❤ pour ce contenu de qualité