Djangoはフォームが初期化された後にフィールド値を設定します質問する

Djangoはフォームが初期化された後にフィールド値を設定します質問する

フォームが初期化された後、フィールドを特定の値に設定しようとしています。

たとえば、次のようなクラスがあります。

class CustomForm(forms.Form):
    Email = forms.EmailField(min_length=1, max_length=200)

ビューでは、次のようなことができるようにしたいと思います。

form = CustomForm()
form["Email"] = GetEmailString()

return HttpResponse(t.render(c))

ベストアンサー1

POST データを渡していないので、フォームに表示される初期値を設定しようとしているものと想定します。これを行うには、キーワードを使用しますinitial

form = CustomForm(initial={'Email': GetEmailString()})

を参照してくださいDjango フォームドキュメント詳しい説明については。

フォームが送信された後に値を変更する場合は、次のようなものを使用できます。

if form.is_valid():
    form.cleaned_data['Email'] = GetEmailString()

使用方法の詳細については、上記の参照ドキュメントを確認してください。cleaned_data

おすすめ記事