有沒有辦法在窗體定義中給窗體一個特殊的錯誤渲染函數?在customizing-the-error-list-format下的文檔中,它展示瞭如何給窗體一個特殊的錯誤渲染函數,但似乎您必須在實例化窗體時聲明它,而不是在您定義窗體時聲明它。Django窗體error_class
所以,你可以定義一些ErrorList類,如:
from django.forms.util import ErrorList
class DivErrorList(ErrorList):
def __unicode__(self):
return self.as_divs()
def as_divs(self):
if not self: return u''
return u'<div class="errorlist">%s</div>' % ''.join([u'<div class="error">%s</div>' % e for e in self])
然後當你實例化你的表格,您可以用error_class實例吧:
f = ContactForm(data, auto_id=False, error_class=DivErrorList)
f.as_p()
<div class="errorlist"><div class="error">This field is required.</div></div>
<p>Subject: <input type="text" name="subject" maxlength="100" /></p>
<p>Message: <input type="text" name="message" value="Hi there" /></p>
<div class="errorlist"><div class="error">Enter a valid e-mail address.</div></div>
<p>Sender: <input type="text" name="sender" value="invalid e-mail address" /></p>
<p>Cc myself: <input checked="checked" type="checkbox" name="cc_myself" /></p>
但我不希望名字每次我實例化一個表單時的錯誤類,有沒有辦法在窗體定義中定義自定義錯誤渲染器?
沒有對我的工作 – 2011-06-13 10:43:53