2013-04-28 40 views
0

我用ridicoulus的時間量試圖找到這個答案,但要麼它不存在於谷歌上,要麼我是一個白癡(反問題,不需要回答)顯示error_messages的字典信息

我發現如何聲明兩個鍵'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

現在,您正在查看有錯誤的字段。

如果要訪問特定字段的錯誤,則需要遍歷每個字段,然後遍歷每個字段中的每個錯誤。

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

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

你所訪問的設置根據是否有所有的形式任何錯誤類(對於像引導或顯示一個消息,像你這樣做)

+0

謝謝你這麼多有用! !!!! – Rookie 2013-04-28 20:47:13