Bagaimana untuk Mengendalikan MultiValueDictKeyError dalam Django Apabila Kotak Semak Tidak Ditanda?

Barbara Streisand
Lepaskan: 2024-11-23 05:09:19
asal
451 orang telah melayarinya

How to Handle MultiValueDictKeyError in Django When a Checkbox is Unchecked?

Menyelesaikan masalah MultiValueDictKeyError Django: Mengendalikan Pengecualian Kotak Pilihan

Apabila cuba menyimpan objek ke pangkalan data, MultiValueDictKeyError kerana ralat hilang mungkin timbul nilai dalam bentuk. Dalam senario ini, kotak pilihan is_private, apabila dinyahtanda, tidak memberikan nilai, mengakibatkan ralat.

Penyelesaian:

Untuk mengendalikan ralat ini dengan anggun, MultiValueDict's get harus digunakan dan bukannya mengakses nilai secara langsung. Kaedah get, yang juga tersedia dalam kamus standard, membenarkan untuk mengambil nilai sambil menentukan nilai lalai jika kunci tidak wujud.

Dalam baris kod yang diberikan:

is_private = request.POST['is_private']
Salin selepas log masuk

harus digantikan dengan:

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

Dengan menetapkan nilai lalai Palsu, apabila kotak semak tidak dipilih, nilainya akan lalai kepada Salah, menghalang ralat daripada berlaku.

Sintaks umum untuk menggunakan get ialah:

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

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan MultiValueDictKeyError dalam Django Apabila Kotak Semak Tidak Ditanda?. 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