django访问错误

时间:2011-01-22 20:57:38

标签: django django-forms

我有以下内容:

{% if formDetails.errors %}
{% for key, value in formDetails.errors.items %}
{% for error in value %}
    <div class="ui-widget" id="id-error">
        <div class="ui-state-error ui-corner-all" style="padding: 0 .7em;">
            <p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>
            <strong>{{ key }}:</strong> {{ error }}</p>
        </div>
    </div>
{% endfor %}
{% endfor %}

但不幸的是key给了我模型字段的名称(带有下划线的小写字母)。我怎样才能看到像field.label_tag这样漂亮的名字?

1 个答案:

答案 0 :(得分:5)

form.errors模板变量是一个列表而不是字典,因此您应该按如下方式访问它:

{% for error in form.errors %}
    <li>{{ error }}</li>
{% endfor %}

此外,它包含clean()方法在您正在处理的Form对象上引发的表单范围错误。各个字段引发的验证错误可以这样访问:

{% for field in form %}
    {% for error in field.errors %}
        {{ error }}
    {% endfor %}
    {{ field.label_tag }}
{% endfor %}

阅读this part of the Django docs,您似乎无法完全了解访问表单时的内容。