如果我查看 Django 的forms.py,as_p()
calls _html_output()
,它会设置字段错误的样式self.error_class()
(尽管我找不到它的定义)。
但是,_html_output()
不样式non_field_errors
(代码中的又名 top_errors)。
一种如何设置非字段错误的样式?剪切并粘贴所有 _html_output?
我正在使用 Django 1.0。
如果我查看 Django 的forms.py,as_p()
calls _html_output()
,它会设置字段错误的样式self.error_class()
(尽管我找不到它的定义)。
但是,_html_output()
不样式non_field_errors
(代码中的又名 top_errors)。
一种如何设置非字段错误的样式?剪切并粘贴所有 _html_output?
我正在使用 Django 1.0。
我使用此模板来设置非字段错误的样式:
{% if form.non_field_errors %}
<div class="non-field-errors">
{% for err in form.non_field_errors %}
<p class="form-error">{{ err }}</p>
{% endfor %}
</div>
{% endif %}
在您的模板中,您可以访问 {{ form.non_field_errors }} 并根据需要渲染它们。以下是 Django 管理员处理它们的方式,例如:http ://code.djangoproject.com/browser/django/trunk/django/contrib/admin/templates/admin/change_form.html#L40
选项:
两者都{{ form.non_field_errors }}
做{{ form.non_field_errors.as_ul }}
同样的事情。
{{ form.non_field_errors.as_text }}
*
在文本前面显示错误。
这篇文章也有助于解释为什么*
不会删除django 票
可以在不使模板语言复杂化的情况下完成。在 Django 3 中,non_field_errors 列表具有“errorlist nonfield”类,因此您可以简单地使用 CSS 来设置它们的样式:
在您的 CSS 文件中:
.errorlist.nonfield {
color: red;
}
在您的 html 模板中:
{{ form.as_p }}