脆弱形式仅渲染字段错误

时间:2016-05-11 11:47:57

标签: python django django-crispy-forms

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

错误: enter image description here

1 个答案:

答案 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上的文档。