Dépannage de MultiValueDictKeyError de Django : gestion de l'exception de case à cocher
Lors de la tentative d'enregistrement d'un objet dans la base de données, une erreur MultiValueDictKeyError peut survenir en raison d'une case à cocher manquante valeurs dans un formulaire. Dans ce scénario, la case is_private, lorsqu'elle n'est pas cochée, ne fournit pas de valeur, ce qui entraîne l'erreur.
Résolution :
Pour gérer cette erreur correctement, le MultiValueDict La méthode get doit être utilisée au lieu d’accéder directement aux valeurs. La méthode get, également disponible dans les dictionnaires standards, permet de récupérer une valeur tout en précisant une valeur par défaut si la clé n'existe pas.
Dans la ligne de code donnée :
is_private = request.POST['is_private']
doit être remplacé par :
is_private = request.POST.get('is_private', False)
En définissant une valeur par défaut de False, lorsque la case n'est pas cochée, sa valeur par défaut sera False, empêchant l'erreur de se produit.
La syntaxe générale d'utilisation de get est :
my_var = dict.get(<key>, <default>)
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!