假设我有一个名为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 }}
它会显示所有错误,但是,我只想显示一个错误,只显示第一条错误消息。那么,任何想法为什么我的点符号不起作用?
答案 0 :(得分:2)
form.errors不是字典,至少根据StackOverflow中的其他相关问题:
django: how to access only first error message in form.errors?
如果您确实只需要获得第一个错误(记住所有字段错误都会在一起),您可以尝试转换为值,然后获取第一个项目,如:
{{form.errors.values.0}}
或
{{form.errors.items.0}}
此秒将返回带有标签和错误消息的元组。