ModelForm Django 1.11覆盖错误消息

时间:2017-08-23 15:03:56

标签: django forms django-forms

如何在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.",
            }
        }

1 个答案:

答案 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."),
            },
        }