Maison > développement back-end > Tutoriel Python > Comment gérer les soumissions de formulaires de cases à cocher dans Django lorsqu'une case à cocher n'est pas sélectionnée ?

Comment gérer les soumissions de formulaires de cases à cocher dans Django lorsqu'une case à cocher n'est pas sélectionnée ?

Linda Hamilton
Libérer: 2024-11-16 18:01:02
original
1013 Les gens l'ont consulté

How to Handle Checkbox Form Submissions in Django When a Checkbox is Not Selected?

Django MultiValueDictKeyError : gestion des soumissions de formulaires de cases à cocher

Lorsque vous essayez de remplir un objet à partir d'un formulaire, vous pouvez rencontrer une MultiValueDictKeyError si le formulaire contient une case à cocher qui n'est pas cochée. Cette erreur provient de l'absence de clé correspondante dans l'objet de requête HTTP car la case à cocher ne renvoie aucune valeur lorsqu'elle n'est pas cochée.

Pour résoudre ce problème, utilisez la méthode get fournie par MultiValueDict (également présente dans les dictionnaires standards) pour récupérer la valeur de la case à cocher avec élégance. Cette méthode accepte une clé (correspondant au nom de la case à cocher) et une valeur par défaut facultative à renvoyer si la clé n'est pas présente.

Par exemple, si is_private représente une case à cocher dans votre formulaire, la ligne suivante gérerait efficacement scénarios cochés et non cochés :

is_private = request.POST.get('is_private', False)
Copier après la connexion

Dans ce cas, si la case est cochée, is_private recevra sa valeur soumise ; sinon, la valeur par défaut sera False.

N'oubliez pas que la syntaxe générale de la méthode get est :

my_var = dict.get(key, default)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal