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,如果这有帮助的话。为了使它(可能)更清晰,错误显示正常,它们看起来并不像我想要的那样。
答案 0 :(得分:3)
最新更新说它已修复。看它是否在行李箱中工作。如果没有,请提交您的错误。如果是,请获取补丁或等待下一个版本。 (虽然我认为最新版本是在最后一次更新票证之后)。