hjwp的精彩的《Python测试驱动开发》一书展示了在第11章中覆盖默认的ModelForm字段错误消息:
from django import forms
from lists.models import Item
class ItemForm(forms.models.ModelForm):
class Meta:
[...]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
empty_error = "You can't have an empty list item"
self.fields['text'].error_messages['required'] = empty_error
但随后宣布(正在进行中)...
Django 1.6有一种更简单的方法来覆盖字段错误消息。我还没有时间实现它,但是您应该随意查找并使用它!
事实证明,这是一个很难查找的话题,我希望可以节省其他人的时间。什么是更简单的方法来完成它?
ModelForm接受几个新的Meta选项。
- localized_fields列表中包含的字段将被本地化(通过在表单字段上设置localize)。
- 标签,help_texts和error_messages选项可用于自定义默认字段,有关详细信息,请参见覆盖默认字段。
从那:
class AuthorForm(ModelForm):
class Meta:
model = Author
fields = ('name', 'title', 'birth_date')
labels = {
'name': _('Writer'),
}
help_texts = {
'name': _('Some useful help text.'),
}
error_messages = {
'name': {
'max_length': _("This writer's name is too long."),
},
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句