Django - Formulaires avancés

Table des matières
La construction de formulaires peut être rendue beaucoup plus facile en utilisant le classes génériques de Django cependant, nous n'allons pas toujours les utiliser car nous devons parfois développer la logique complète de notre part.
Heureusement à l'intérieur Django Nous pouvons également créer la manière dont nous allons traiter nos formulaires et comment gérer leur logique, avec cela nous réaliserons des applications beaucoup plus personnalisées et plus proches de nos objectifs.
Joindre les données au formulaire
Nous savons que le formulaire est un moyen de prendre des données de l'utilisateur, nous en avons donc deux états, avec et sans donnéesQuand le formulaire a des données, c'est quand on va faire nos opérations, par contre, quand il n'a rien, il faut simplement l'ignorer pour le traitement des données.
ExercerNous allons réaliser l'exercice suivant, depuis la console interactive de Django, nous allons créer un formulaire et avec le méthode is_bound() On va valider s'il a une donnée associée, de cette façon on peut voir un peu plus comment le formulaire se comporte dans le framework, voyons les résultats dans l'image ci-dessous :

Comme nous le voyons dans l'exemple, ce n'est que lorsque nous passons les valeurs au formulaire en utilisant la méthode is_bound que nous obtenons un Vraie réponse.
Valider les données
Comme nous le savons, si nous travaillons sur le Web, les données saisies par l'utilisateur peuvent être la forme d'attaque la plus efficace contre notre application, car par ignorance, elle peut saisir tout type de format que notre application n'est pas prête à accepter et peut donc se terminer par une erreur fatale, pour éviter cela, nous devons toujours nous assurer que les données sont en sécurité avant de les traiter pour cela, nous pouvons utiliser les éléments suivants :
 def my_view (request): if request.method == 'POST': form = MyForm (request.POST, request.FILES) if form.is_valid (): #Si les données sont valides ici, nous pouvons continuer avec notre logique d'application else : # Sinon on ne présente que l'objet sans data form = MyForm()

Comme nous le voyons dans l'exemple, nous créons une instance de la classe MonFormulaire et nous joignons les données qui viennent dans le demande, par la méthode POST et celles du type DES DOSSIERS Dans le cas où nous apportons une image ou un fichier d'un autre type, selon notre modèle, ce que notre formulaire apporte doit être évalué pour cela nous utilisons le méthode is_valid(), avec cela, nous nous assurons que si une chaîne arrive là où un nombre devrait arriver, l'information est rejetée et elle n'est pas autorisée à atteindre la base de données où elle pourrait provoquer une erreur fatale.
Vues basées sur les classes
Avec ce que nous avons vu dans l'exemple précédent, nous pouvons maintenant voir comment nous pouvons appliquer quelque chose de similaire en utilisant le Vues basées sur les classes et ainsi utiliser les outils du framework.
Si nous utilisons le FormView générique de Django nous pouvons obtenir quelque chose de similaire au code suivant :
 depuis Django.shortcuts importer le rendu, rediriger depuis Django.views.generic.edit importer la classe FormView MyForm (FormView): form_class = MyForm template_name = 'form.html' success_url = '/ success /' def form_valid (self, form): form .save () return super (MyView, self) .form_valid (form)

Comme nous pouvons le voir, l'utilisation avancée des formulaires nous permet de rendre les applications plus dynamiques et de manière plus personnalisée, avec lesquelles nous pouvons obtenir des résultats incroyables avec seulement quelques lignes de code.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif
wave wave wave wave wave