Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana Mengendalikan Penyerahan Borang Kotak Semak dalam Django Apabila Kotak Semak Tidak Dipilih?

Bagaimana Mengendalikan Penyerahan Borang Kotak Semak dalam Django Apabila Kotak Semak Tidak Dipilih?

Linda Hamilton
Lepaskan: 2024-11-16 18:01:02
asal
1026 orang telah melayarinya

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

Django MultiValueDictKeyError: Mengendalikan Penyerahan Borang Kotak Semak

Apabila cuba mengisi objek daripada borang, anda mungkin menghadapi MultiValueDictKeyError jika borang mengandungi kotak semak yang tidak dipilih. Ralat ini berpunca daripada ketiadaan kunci yang sepadan dalam objek permintaan HTTP kerana kotak pilihan tidak mengembalikan nilai apabila dinyahtanda.

Untuk menyelesaikan isu ini, gunakan kaedah dapatkan yang disediakan oleh MultiValueDict (juga terdapat dalam kamus standard) untuk mendapatkan semula nilai kotak semak dengan anggun. Kaedah ini menerima kunci (bersamaan dengan nama kotak pilihan) dan nilai lalai pilihan untuk dikembalikan jika kunci tidak ada.

Sebagai contoh, jika is_private mewakili kotak pilihan dalam borang anda, baris berikut akan mengendalikan dengan berkesan kedua-dua senario yang ditanda dan tidak ditanda:

is_private = request.POST.get('is_private', False)
Salin selepas log masuk

Dalam kes ini, jika kotak pilihan ditandakan, is_private akan menerimanya nilai yang dikemukakan; jika tidak, ia akan lalai kepada False.

Ingat, sintaks umum untuk kaedah get ialah:

my_var = dict.get(key, default)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Mengendalikan Penyerahan Borang Kotak Semak dalam Django Apabila Kotak Semak Tidak Dipilih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan