Heim >Backend-Entwicklung >Python-Tutorial >Wie gehe ich mit Kontrollkästchen-Formularübermittlungen in Django um, wenn ein Kontrollkästchen nicht ausgewählt ist?
Django MultiValueDictKeyError: Umgang mit Checkbox-Formularübermittlungen
Beim Versuch, ein Objekt aus einem Formular auszufüllen, kann ein MultiValueDictKeyError auftreten, wenn das Formular enthält ein Kontrollkästchen, das nicht aktiviert ist. Dieser Fehler ist auf das Fehlen eines entsprechenden Schlüssels im HTTP-Anforderungsobjekt zurückzuführen, da das Kontrollkästchen keinen Wert zurückgibt, wenn es nicht aktiviert ist.
Um dieses Problem zu beheben, verwenden Sie die von MultiValueDict bereitgestellte get-Methode (auch in Standardwörterbüchern vorhanden). um den Kontrollkästchenwert ordnungsgemäß abzurufen. Diese Methode akzeptiert einen Schlüssel (entsprechend dem Namen des Kontrollkästchens) und einen optionalen Standardwert, der zurückgegeben wird, wenn der Schlüssel nicht vorhanden ist.
Wenn is_private beispielsweise ein Kontrollkästchen in Ihrem Formular darstellt, würde die folgende Zeile effektiv verarbeiten Sowohl aktivierte als auch nicht aktivierte Szenarien:
is_private = request.POST.get('is_private', False)
Wenn in diesem Fall das Kontrollkästchen aktiviert ist, erhält is_private seinen übermittelten Wert. andernfalls wird standardmäßig „False“ verwendet.
Denken Sie daran, dass die allgemeine Syntax für die get-Methode lautet:
my_var = dict.get(key, default)
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Kontrollkästchen-Formularübermittlungen in Django um, wenn ein Kontrollkästchen nicht ausgewählt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!