如果我期待在Django的forms.py,as_p()
電話_html_output()
,非現場錯誤,這些錯誤的風格領域的錯誤與self.error_class()
(雖然我無法找到的該定義)。造型Django的表單上的
但是,_html_output()
不具有樣式non_field_errors
(也稱爲代碼中的top_errors)。
一個風格的非現場錯誤如何?剪切並粘貼所有_html_output?
我正在使用Django 1.0。
如果我期待在Django的forms.py,as_p()
電話_html_output()
,非現場錯誤,這些錯誤的風格領域的錯誤與self.error_class()
(雖然我無法找到的該定義)。造型Django的表單上的
但是,_html_output()
不具有樣式non_field_errors
(也稱爲代碼中的top_errors)。
一個風格的非現場錯誤如何?剪切並粘貼所有_html_output?
我正在使用Django 1.0。
在您的模板中,您可以訪問{{form.non_field_errors}}並渲染它們,只要你喜歡。下面是Django管理如何處理他們,例如:http://code.djangoproject.com/browser/django/trunk/django/contrib/admin/templates/admin/change_form.html#L40
選項:
兩個{{ form.non_field_errors }}
和{{ form.non_field_errors.as_ul }}
做同樣的事情。
{{ form.non_field_errors.as_text }}
在文本前面顯示*
的錯誤。
本文也解釋了爲什麼*
不會被刪除django ticket
我用這個模板風格非字段的錯誤有所幫助:
{% if form.non_field_errors %}
<div class="non-field-errors">
{% for err in form.non_field_errors %}
<p class="form-error">{{ err }}</p>
{% endfor %}
</div>
{% endif %}
感謝。很難用模板語言重新創建所有的表單渲染代碼,但也許這是正確的。你知道一個與as_p完全相同的模板嗎? http://docs.djangoproject.com/en/dev/topics/forms/#looping-over-hidden-and-visible-fields很接近,但可能不一樣。 – dfrankow 2009-09-08 22:47:55