【发布时间】:2010-01-09 22:08:55
【问题描述】:
python 和 django 的新手。使用表单模块并一一解决错误(所以不只是将它们转储在顶部)
我注意到this solution 能够为错误设置自定义格式,就我而言,它是:
<dd class="error">errstr</dd>
并且或多或少复制提供的示例,我有以下内容:
forms.py(我只是为了我的缘故稍微扩展了它)
class DefinitionErrorList(forms.util.ErrorList):
def __unicode__(self):
return self.view_as_dd()
def view_as_dd(self):
if not self:
return u''
return u'<dd class="error">%s</dd>' % '<br />'.join([u'<span>%s</span>' % e for e in self])
main.py
from poke.forms import PokeForm, DefinitionErrorList
def create_new(response, useless):
if response.method == 'POST':
# They posted something, so collect it (duh)
f = PokeForm(response.POST, error_class=DefinitionErrorList)
if f.is_valid():
cd = f.cleaned_data
模板供参考
<dt>A small message to remind yourself</dt>
{{ form.message.errors }}
<dd>
<span class="input_border" style="width: 75%;"> {{ form.message }}</span>
<span class="tooltip_span">{{ tooltip.message }}</span>
</dd>
问题是,在上述情况下,如果一个字段有错误,它仍然使用默认格式(the ),无论我尝试什么,我都无法使用我的格式。我很确定我错过了一些小事或误解了一些说明。
感谢您的帮助,如果我忘记了任何信息,我很抱歉!
编辑:我正在使用 Django 1.1,如果有帮助的话。为了使其(可能)更清晰,错误显示得很好,只是看起来不像我想要的那样。
【问题讨论】:
标签: django django-forms