如何在Django中显示一种表单错误

时间:2018-07-16 15:51:31

标签: python django

我的模板中有此标签,我只想显示用户名错误而不是所有表单错误

{% for field in form %}
    {% for error in field.errors %}
        <div class="row">
            <div class="small-12 columns val-error-msg error margin-below">
                {{ error }}
            </div>
        </div>
    {% endfor %}
{% endfor %}

2 个答案:

答案 0 :(得分:3)

您可以使用form.field_name.errors

指定字段错误

喜欢:

{% if form.username.errors %}
    {{form.username.errors}}
    # or
    # {{form.username.errors.as_text}}
    # this will remove the `<ul></ul>` tag that django generates by default
{% endif %}

答案 1 :(得分:2)

每个字段都附加了.errors。但请注意,每个字段都可能包含多个错误(例如,密码可能太短,包含非法符号)。

您可以通过{{ form.field.errors }}访问这些错误,但是您已经获得了这些元素。如果您想在模板中过滤仅显示错误(例如,username字段),则可以使用{% if ... %}语句:

{% for field in form %}
    {% if field.name == "username" %}
    {% for error in field.errors %}
        <div class="row">
            <div class="small-12 columns val-error-msg error margin-below">
                {{ error }}
            </div>
        </div>
    {% endfor %}
    {% endif %}
{% endfor %}