django如何在错误消息列表中访问第一个错误

时间:2013-09-25 00:56:11

标签: django django-forms django-templates django-views django-errors

假设我有一个名为form的表单,我想在屏幕上只显示第一条错误消息,如果存在错误消息。我做了一些研究,显然你可以通过在模板中输入它来访问第一条错误消息。

{{ form.errors.0 }}

但它似乎对我不起作用,它不会显示任何内容。如何制作模板,以便在出现表单错误时只显示第一条错误消息?这是我试过的。

<html>
    <body>

    <form method="post" action="">{% csrf_token %}
        {{ form }}
    <input type="submit" value="Register"/>
    </form>

    {% if form.errors %}
            {{ form.errors.0 }}
        {% endif %}
    </body>
</html>

所以,我想要的是,我想只显示{{form.errors}}中的第一个错误。 请注意,当我改变

{{ form.errors.0 }}

{{ form.errors }}

它会显示所有错误,但是,我只想显示一个错误,只显示第一条错误消息。那么,任何想法为什么我的点符号不起作用?

1 个答案:

答案 0 :(得分:2)

form.errors不是字典,至少根据StackOverflow中的其他相关问题:

django accessing errors

django: how to access only first error message in form.errors?

如果您确实只需要获得第一个错误(记住所有字段错误都会在一起),您可以尝试转换为值,然后获取第一个项目,如:

{{form.errors.values.0}}

{{form.errors.items.0}}

此秒将返回带有标签和错误消息的元组。