Django Non_Field_Error показывает дублированный Bootstrap - PullRequest
0 голосов
/ 28 июня 2018

Я искал ответ, но любой из них полезен для меня. Проблема в том, что я хочу показать non_field_error со следующим кодом в HTML:

{% if form.non_field_errors %}
        <div class="alert alert-danger">{{ form.non_field_errors|join:"<br \>" }}</div>
{% endif %}

Это дает следующий результат: Дублированная ошибка, одна отформатирована, а другая нет

Это мой forms.py код:

 user = authenticate(username=username, password=password)
        if not user or not user.is_active:
            self.add_error(None, "Incorrect credentials")

Как я могу показать только отформатированное поле вместо обоих?


UPDATE:
Если я попробую с таким подходом:

{% if form.non_field_errors %}
    {% for error in form.non_field_errors %}
        <div class="alert alert-danger">{{ error }}</div>
    {% endfor %}
{% endif %}

У меня более или менее та же проблема: Та же ошибка. Появляется дважды

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

У меня был такой же пробам, и я обнаружил, что это происходит, потому что у меня есть {{ form }} тег django, этот тег также загружает non_field_errors, поэтому мне пришлось визуализировать его вручную, как этот

{{ form.non_field_errors }}
{{ form.label }}
{{ form.field_name }} 
0 голосов
/ 28 июня 2018

если non_field_errors - список, вместо того, чтобы объединять их с тегом
, вы можете использовать django для каждого синтаксиса, например:

{% if form.non_field_errors %}
    {% for error in form.non_field_errors %}
        <div class="alert alert-danger">{{ form.non_field_errors }}</div>
    {% endfor %}
{% endif %}

Не проверял, но это общая идея, и я считаю, что правильный синтаксис

...