web-dev-qa-db-ja.com

django-フォームにはエラーはありませんが、form.is_valid()は検証されません

何らかの理由で(ユーザーがテキストフィールドにデータを追加した場合)エラーをスローしないフォームがありますが、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() 
23
avatar

テンプレートから、以下を追加します。

{{ form.errors }}
{{ form.non_field_errors }}

上記のエラーはありますか?

45
Thierry Lam

バックエンドでエラーを印刷(またはログ)することもできます。同様にこれを使用します。

同様に、エラーを印刷するには:

print(form.errors)
2