Python Django 1.6:表单未显示错误
我有一个在模板中没有显示任何验证错误的注册表单。如果提交了不正确的表单,它只会用空白字段再次呈现页面。我希望它能显示出在表单上签名的人所犯的错误 这是模板,我把表格放在这里Python Django 1.6:表单未显示错误,python,django,forms,Python,Django,Forms,我有一个在模板中没有显示任何验证错误的注册表单。如果提交了不正确的表单,它只会用空白字段再次呈现页面。我希望它能显示出在表单上签名的人所犯的错误 这是模板,我把表格放在这里 <form action="" method="post" id="user_uploader" enctype="multipart/form-data"> {% csrf_token %} {{ form.non_field_errors }} <div class=""> {{ for
<form action="" method="post" id="user_uploader" enctype="multipart/form-data"> {% csrf_token %}
{{ form.non_field_errors }}
<div class="">
{{ form.name }}
</div>
{{ form.error_messages }}
{{ form.help_text }}
<div class="">
{{ form.username }}
</div>
{{ form.non_field_errors }}
<div class="">
{{ form.email}}
</div>
{{ form.non_field_errors }}
<div class="">
{{ form.password1 }}
</div>
{{ form.non_field_errors }}
{{ form.error_messages }}
<div class="">
{{ form.password2 }}
</div>
<button class="btn btn-primary" type="submit" name="submit" id="ss-submit">SIGN UP</button>
为了澄清,我将注册信息保存到两个不同的模型中
这是我的观点
def signup_user(request):
if request.method == 'POST':
form = UserCreationForm(request.POST,request.FILES)
if form.is_valid():
new_user = form.save()
new_user = authenticate(username=request.POST['username'],password=request.POST['password1'])
login(request, new_user)
return HttpResponseRedirect(reverse('index'))
else:
form = UserCreationForm()
return render(request, "meddy1/signup.html", {'form': form,'usersignup':True})
您根本没有在模板中使用从视图传递的
表单。您正在手动渲染每个表单元素。相反,您应该使用文档中所示的首选方式
从那个医生那里
<form action="/contact/" method="post">
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }} {{ field }}
</div>
{% endfor %}
<p><input type="submit" value="Send message" /></p>
</form>
{%形式的字段为%}
{{field.errors}}
{{field.label_tag}{{{field}}
{%endfor%}
您可以添加div
s等来创建适合您的html。我按照文档的要求尝试自定义模板。但它仍然没有显示错误。我已经更新了上面的模板。@HarisAghadi,对于电子邮件字段,错误将出现在{{form.email.errors}}
,您没有使用此类字段错误来显示。
<form action="/contact/" method="post">
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }} {{ field }}
</div>
{% endfor %}
<p><input type="submit" value="Send message" /></p>
</form>