2013-03-16 47 views
4

如何在模板中格式化django form.non_field_errors.as_text,而不將它們作爲無序列表或附加到前面的*在模板中格式化django form.non_field_errors

{{ form.non_field_errors.as_text }}在文本前面顯示*的錯誤。

django ticket也有助於解釋爲什麼*不會被刪除,但這並不能幫助我。我不想要*

{{form.non_field_errors}}和{{form.non_field_errors.as_ul}}都顯示爲一個無序列表,我不想要一個無序列表。

回答

12
{% for error in form.non_field_errors %} 
    {{error}} 
{% endfor %} 

當您將錯誤列表作爲文本進行調用時,它會嘗試將其顯示爲列表。只需遍歷列表即可自行獲取錯誤,以便應用自己的樣式。它

更多信息的Django項目website

+0

很好的答案 - 謝謝。 +1 – nicorellius 2013-12-18 00:45:04

0

那麼,在默認情況下Django的形式使用ErrorList作爲error_classproof link)。正如你所看到的,它的as_text方法格式通過在星號前加星號來列出。

因此,您可以使用自己的as_text方法創建一些自定義error_class並以合適的方式將其傳遞到您的表單。