django - 表单没有错误,但form.is_valid()不验证

时间:2011-04-01 16:54:40

标签: django django-templates django-forms django-views

我有一个表单,由于某种原因,它不会抛出任何错误(如果用户在文本字段中添加数据),但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() 

3 个答案:

答案 0 :(得分:37)

在模板中添加以下内容:

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

您是否看到上述任何错误?

答案 1 :(得分:0)

您也可以在后端打印(或记录)错误,类似地使用此:

例如,要打印错误:

print(form.errors)

答案 2 :(得分:0)

我将这个块与引导程序一起使用

{% if form.errors %}
<div class="alert alert-danger" role="alert">
    {% for field, errors in form.errors.items %}
    {% for error in errors %}
    <b>{{ field }}</b>: {{ error }}
    {% endfor %}
    {% endfor %}
</div>
{% endif %}