Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengendalikan MultiValueDictKeyError dalam Django Apabila Kotak Semak Tidak Ditanda?

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

Barbara Streisand
Barbara Streisandasal
2024-11-23 05:09:19537semak imbas

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']

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!

Kenyataan:
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