一尘不染

使用模型表单创建自定义错误消息

django

我可以看到使用表单时如何向字段添加错误消息,但是模型表单呢?

这是我的测试模型:

class Author(models.Model):
    first_name = models.CharField(max_length=125)
    last_name = models.CharField(max_length=125)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

我的模型表格:

class AuthorForm(forms.ModelForm):
    class Meta:
        model = Author

在字段中的错误信息:first_namelast_name是:

这是必填栏

如何以模型形式进行更改?


阅读 442

收藏
2020-03-29

共2个答案

一尘不染

对于简单的情况,你可以指定自定义错误消息

class AuthorForm(forms.ModelForm):
    first_name = forms.CharField(error_messages={'required': 'Please let us know what to call you!'})
    class Meta:
        model = Author
2020-03-29
一尘不染

Django 1.6的新功能:

ModelForm接受几个新的Meta选项。

  • localized_fields列表中包含的字段将被本地化(通过在表单字段上设置localize)。
  • 标签,help_textserror_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."),
            },
        }
2020-03-29