如何在Django 1.11中覆盖ModelForm中的默认表单错误消息,例如'输入有效值。'或类似的东西?
在官方文档中有此示例,但它没有显示如何覆盖除此之外的其他类型的错误消息。
https://docs.djangoproject.com/en/1.11/topics/forms/modelforms/#validation-on-a-modelform
from django.forms import ModelForm
from django.core.exceptions import NON_FIELD_ERRORS
class ArticleForm(ModelForm):
class Meta:
error_messages = {
NON_FIELD_ERRORS: {
'unique_together': "%(model_name)s's %(field_labels)s are not unique.",
}
}
答案 0 :(得分:1)
有NON_FIELD_ERRORS
和字段相关的错误。您可以通过以下方式覆盖与字段相关的字段:
(来自Overriding the default fields文章):
from django.utils.translation import ugettext_lazy as _
class AuthorForm(ModelForm):
class Meta:
model = Author
fields = ('name', 'title', 'birth_date')
error_messages = {
'name': {
'max_length': _("This writer's name is too long."),
},
}