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