Django 如何将表单错误重定向到包含Validationon错误的表单页面

Django 如何将表单错误重定向到包含Validationon错误的表单页面,django,django-forms,django-2.0,Django,Django Forms,Django 2.0,我已经创建了一个包含用户详细信息的表单,并在django aapp中编写了一个类视图来更新用户详细信息,一切都正常,但是,我不是通过表单在页面中手工编写表单小部件,而是在更新细节。我不知道如何将表单错误从类视图重定向到带有错误的表单页面,在django errors中,它显示不包含aapp/user\u form.html模板 “profile.Html”页面中包含表单的Html代码 正如我所看到的,您没有在视图中定义模板\u名称,因此您得到了模板错误。首先解决这个问题- class Updat

我已经创建了一个包含用户详细信息的表单,并在django aapp中编写了一个类视图来更新用户详细信息,一切都正常,但是,我不是通过表单在页面中手工编写表单小部件,而是在更新细节。我不知道如何将表单错误从类视图重定向到带有错误的表单页面,在django errors中,它显示不包含aapp/user\u form.html模板

“profile.Html”页面中包含表单的Html代码
正如我所看到的,您没有在视图中定义
模板\u名称
,因此您得到了模板错误。首先解决这个问题-

class UpdateMprofile(LoginRequiredMixin, LogoutIfNotSuperuserMixin, UpdateView):
    template_name = aapp/profile.html #Template directory should be correct.
    login_url = reverse_lazy('mlogin')
    model = User
    fields = ['first_name', 'last_name', 'mobile', 'avatar']
    success_url = reverse_lazy('mprofile')
Django已经在呈现错误,但在您的模板中,您尚未对其进行编码以显示错误

要一次显示所有错误,您可以-

{% for error in form.non_field_errors %}
    {{error}}
{% endfor %}
或者,如果要在其字段中呈现错误,请使用以下命令-

   {% for error in form.first_name.errors %}
        <span class="help-block text-danger">{{ error }}</span>
    {% endfor %}
{%for form.first\u name.errors%}
{{error}}
{%endfor%}

还有一个建议,对于表单使用-
小部件调整,这里很好。

当您使用通用视图时,您应该遵循Django模板命名。 在您的问题中,您遇到了一个模板错误,因此您应该添加带有
\u form
后缀的模板,例如
yourmodelname\u form.html
。Django将自动在模板文件夹中搜索它

验证错误可显示在中

{{form.non_field_errors}}

注意:最好使用forms.py进行编辑

亲爱的pankaj sharma谢谢你教我。。。我认为在基于类的视图中,如果出现任何错误,它会自动重定向到success\uURL,但我现在明白了,只有成功的方法,success\uURL才能工作
   {% for error in form.first_name.errors %}
        <span class="help-block text-danger">{{ error }}</span>
    {% endfor %}
{{form.non_field_errors}}