何らかの理由で(ユーザーがテキストフィールドにデータを追加した場合)エラーをスローしないフォームがありますが、form.is_valid()
は検証されません。何か案は?
forms.py:
class MyForm(forms.Form):
title = forms.CharField(widget=forms.TextInput(attrs={'class':'titleField'))
mytemplate.html
<form action="" method="post" name="form">{% csrf_token %}
{{ form.title.errors }}
{{ form.title }}
<input type="submit" name='submit_button' value="Post" />
</form>
views.py:
if 'submit_button' in request.POST:
form = MyForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
title = cd['title']
g = MyData(title='title')
g.save()
else:
form = MyForm()
テンプレートから、以下を追加します。
{{ form.errors }}
{{ form.non_field_errors }}
上記のエラーはありますか?
バックエンドでエラーを印刷(またはログ)することもできます。同様にこれを使用します。
同様に、エラーを印刷するには:
print(form.errors)