显示error_messages的字典值

时间:2013-04-28 18:52:41

标签: django django-forms django-templates

我已经用了很多时间试图找到这个答案,但要么谷歌上不存在,要么我是个白痴(修辞问题,不需要回答)

我已经找到了如何为两个键“required”和“invalid”声明字段特定的错误消息,但我太愚蠢了,无法弄清楚在模板中使用什么语法为了显示这些错误消息。 (对不起,如果它很烦人,我现在真的处于一种自我贬低的心情,此刻FML并没有削减它)

所以,到目前为止,这是几个小时的谷歌搜索。来自forms.py

RegfirstnameError={'required': 'Last name must be filled in', 'invalid': 'invalid value in the last name field'}

class FrontpageRegistrartion(forms.Form):
    firstname = forms.CharField(label="", widget=forms.TextInput(attrs={'id':'firstnamespan', 'placeholder':'Fornavn',}), error_messages=RegfirstnameError,)
....

我使用了以下语法(我甚至不知道我是否正确使用了这个词,我只是希望缺少其他任何东西(我可以谷歌它,但老实说,我会在我的模板中,我的django冒险了,这太棒了。

{% if regform.errors %}
    <h2 style="color: red;">En feil oppstod</h2>
{% for error in regform.errors %}
<p style="color: red;">
{{error}}
</p>
{% endfor %}
{% endif %}

仅使用错误呈现字段的名称。 (我当然尝试了不同的品种,但没有一种可行)

如果我的非理性解释超级大国(我无法控制)已经再次踢了,那么让我成为超级克莱尔;我当然希望能够显示两个键的价值; “required”或“invalid”适用于环境/情况。

所以,我真的很感激任何反馈,包括反馈,证实了我是一个完全白痴的感觉!谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

目前,您正在查看有错误的字段。

如果要访问特定字段的错误,则需要遍历每个字段,然后遍历每个字段中的每个错误。

{% for field in regform %}
    {{ field }}

    {% for error in field.errors %}
        <small id="error_{{ forloop.counter }}_{{ field.auto_id }}">{{ error|safe }}</small>
    {% endfor %}
{% endfor %}

您访问的内容对于根据表单中是否存在任何错误来设置类非常有用(例如bootstrap或显示类似的消息)