是否可以仅使用crispy-forms
呈现字段错误?
我尝试使用设置form_show_errors = False
,但会禁用所有错误。
我遇到的问题是我想使用自定义non_field_errors
,但目前它们会被渲染两次。
来源:
{% if form.non_field_errors %}
<div class="alert alert-danger" style="margin-bottom: 0;">
<span class="pficon pficon-error-circle-o"></span>
{% for err in form.non_field_errors %}
<p>{{ err }}</p>
{% endfor %}
</div>
{% endif %}
</div>
</div>
<div class="row">
{% crispy form form.helper %}
</div>
答案 0 :(得分:1)
您可以尝试覆盖display_form.html
模板。您还没有说明您使用的是哪种布局,例如,这里是bootstrap3 version。
复制模板并不理想,但它不到10行,所以它并不是那么糟糕。
省略包含非表格错误的if语句
{% if form_show_errors %}
{% include "bootstrap3/errors.html" %}
{% endif %}
然后在表单中将form_show_errors
设置回True。
或者,您可能希望覆盖errors.html
模板,并将non_field_errors
的自定义布局放在那里。
有关详细信息,请参阅overriding layout templates上的文档。