Django MultiValueDictKeyError: チェックボックス フォームの送信の処理
フォームからオブジェクトを設定しようとすると、フォームに次のものが含まれる場合、MultiValueDictKeyError が発生することがあります。選択されていないチェックボックス。このエラーは、チェックボックスがチェックされていないときに値を返さないため、HTTP リクエスト オブジェクトに対応するキーが存在しないことが原因で発生します。
この問題を解決するには、MultiValueDict が提供する get メソッド (標準辞書にも存在します) を利用してください。チェックボックスの値を正常に取得します。このメソッドは、キー (チェックボックス名に対応) と、キーが存在しない場合に返されるオプションのデフォルト値を受け入れます。
たとえば、is_private がフォーム内のチェックボックスを表す場合、次の行は効果的に処理します。チェックされたシナリオとチェックされていないシナリオの両方:
is_private = request.POST.get('is_private', False)
この場合、チェックボックスがチェックされている場合、is_private は送信された値を受け取ります。それ以外の場合は、デフォルトで False になります。
get メソッドの一般的な構文は次のとおりです。
my_var = dict.get(key, default)
以上がチェックボックスが選択されていない場合に Django でチェックボックス フォームの送信を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。