Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django 1.6:表单未显示错误_Python_Django_Forms - Fatal编程技术网

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>