Django,模型和表格:替换“此字段为必填”消息

我知道在使用普通Django表单时如何设置自己的自定义错误消息。但是基于现有模型的Django Form呢?考虑以下模型和形式:

Class MyModel(models.Model):

name = models.CharField(max_length='30')

Class MyForm(forms.ModelForm):

Class Meta:

model = MyModel

如果我创建此类表单并尝试发布,则会出现消息“此字段为必填”。但是如何改变呢?当然我可以做这样的事情:

Class MyForm(forms.ModelForm):

model = forms.CharField(error_messages = {'required': "something..."})

Class Meta:

model = MyModel

但是根据文档,不会保留max_length属性,我必须将其显式写入表单定义。我认为模型表格的目的是避免两次编写相同的代码。因此,必须有一些简便的方法来更改自定义错误消息,而无需重写整个表单。基本上,如果我的消息看起来像“必填字段’名称’”,对我来说就足够了。

回答:

class MyForm(forms.ModelForm):

class Meta:

model = MyModel

def __init__(self, *args, **kwargs):

super(MyForm, self).__init__(*args, **kwargs)

self.fields['name'].error_messages = {'required': 'custom required message'}

# if you want to do it to all of them

for field in self.fields.values():

field.error_messages = {'required':'The field {fieldname} is required'.format(

fieldname=field.label)}

以上是 Django,模型和表格:替换“此字段为必填”消息 的全部内容, 来源链接: utcz.com/qa/424876.html

回到顶部