Хрустящая форма только отображает ошибки поля

Можно ли отображать только полевые ошибки с 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>

Ошибка:

1 ответ

Решение

Вы можете попробовать переопределить display_form.html шаблон. Вы не сказали, какой макет вы используете, поэтому в качестве примера приведу версию bootstrap3.

Дублирование шаблона не является идеальным, но это менее 10 строк, так что это не так уж плохо.

Оставьте оператор if, который включает ошибки неформальной формы,

{% if form_show_errors %}
    {% include "bootstrap3/errors.html" %}
{% endif %}

затем установить form_show_errors вернуться к Истине в вашей форме.

Кроме того, вы можете переопределить errors.html шаблон, и поместите свой собственный макет для non_field_errors там.

Посмотрите документы по переопределению шаблонов макета для получения дополнительной информации.

Другие вопросы по тегам