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']
harus digantikan dengan:
is_private = request.POST.get('is_private', False)
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>)
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!