【发布时间】:2010-01-14 14:23:16
【问题描述】:
我在表单中使用clean_fieldname 方法来验证数据。
我使用{{field.errors.as_text}} 将错误输出到模板。每条错误消息的开头都有一个星号(“*”符号)。有什么方法可以输出不带星号的验证消息?
(不,我自己不包括星号,我只是来自clean 方法的raise ValidationError(u'text'))
【问题讨论】:
我在表单中使用clean_fieldname 方法来验证数据。
我使用{{field.errors.as_text}} 将错误输出到模板。每条错误消息的开头都有一个星号(“*”符号)。有什么方法可以输出不带星号的验证消息?
(不,我自己不包括星号,我只是来自clean 方法的raise ValidationError(u'text'))
【问题讨论】:
所以,我只需要遍历错误并在没有 as_text() 的情况下打印它们
【讨论】:
另一种方式:
{{ form.username.errors.as_text|cut:"* " }}
【讨论】:
* (asterix+空格),这也将删除它。没有模板过滤器只从左边删除字符吗?
将字段错误打印为文本时添加星号。有关更多详细信息,请参阅django/forms/util.pyErrorList。如果您将错误打印为 as_ul,则更容易自定义错误。 ul 将被赋予一个类“errorlist”。 Django book 有一个关于自定义表单错误的部分。第七章“自定义表单设计”:http://www.djangobook.com/en/2.0/chapter07/
【讨论】: