1

因此,假设我有一个名为 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 }}

它确实显示了所有错误,但是,我只想显示一个错误,只是第一个错误消息。那么,知道为什么我的点符号不起作用吗?

4

1 回答 1

2

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

django 访问错误

django:如何仅访问 form.errors 中的第一条错误消息?

如果你真的只需要得到第一个错误(记住所有字段错误都会一起出现),你可以尝试转换为值,然后得到第一个项目,比如:

{{form.errors.values.0}}

或者

{{form.errors.items.0}}

这第二个将返回一个带有标签和错误消息的元组。

于 2013-09-25T01:31:57.180 回答