脆皮表格只渲染字段错误

Crispy form only render field errors

是否可以仅使用 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>

错误:

您可以尝试覆盖 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 上的文档。