【问题标题】:Django Forms: Showing only the first error in template?Django Forms:仅显示模板中的第一个错误?
【发布时间】:2013-02-16 02:35:52
【问题描述】:

我目前正在使用 Django 的内置登录视图,带有一个供用户登录的表单,并且具有以下内容:

{% if form.username.errors %}<p class="error">{{ form.username.errors }}</p>{% endif %}

对于每个字段。我想将所有错误消息移动到工具提示中或全部移动到登录框的顶部,所以我只想显示第一条错误消息。有没有干净的方法来做到这一点?

【问题讨论】:

    标签: python django forms


    【解决方案1】:

    与任何类似列表的对象一样,您可以使用first 模板过滤器:

    {{ form.username.errors|first }}
    

    【讨论】:

    • 我的意思是问一般的第一个错误,包括非字段错误。因此,如果用户名和密码有错误,我只想在 form.errors 中显示先出现的那个?
    • {{form.username.errors|first}} 只会显示与用户相关的第一个错误,而 form.errors|first 似乎不起作用):
    猜你喜欢
    • 2019-08-31
    • 1970-01-01
    • 2013-01-23
    • 2016-04-01
    • 2012-09-12
    • 2016-04-01
    • 2017-10-20
    • 2021-08-26
    相关资源
    最近更新 更多