私は次のようなDjangoフォームを持っています:
class myForm(forms.Form):
email = forms.EmailField(
label="Email",
max_length=254,
required=True,
)
私は関連付けられたクラスベースのFormViewを持っています下に示された。私は、フォームがデータを正しく検証していることがわかり、フローは以下のform_valid()メソッドに入っています。私が知る必要があるのは、ユーザーが電子メールフィールドに提出した値を取得する方法です。 form.fields["email"].value
仕事はしません。
class myFormView(FormView):
template_name = "myTemplate.html"
form_class = myForm
success_url = "/blahblahblah"
def form_valid(self, form):
# How Do I get the submitted values of the form fields here?
# I would like to do a log.debug() of the email address?
return super(myFormView, self).form_valid(form)
回答:
回答№1の13あなたはフォームをチェックすることができます cleaned_data
属性は、キーと値としてのフィールドを値として持つ辞書です。ドキュメント ここに.
例:
class myFormView(FormView):
template_name = "myTemplate.html"
form_class = myForm
success_url = "/blahblahblah"
def form_valid(self, form):
email = form.cleaned_data["email"] <--- Add this line to get email value
return super(myFormView, self).form_valid(form)
回答№2の場合は1
これを試して:
form.cleaned_data.get("email")