【问题标题】:Django overriding default ModelForm error messages not workingDjango覆盖默认的ModelForm错误消息不起作用
【发布时间】:2021-06-09 16:23:33
【问题描述】:

我是 django 的新手,我知道有很多与此主题相关的堆栈溢出问题和答案,但似乎没有一个解决方案适合我。我正在尝试覆盖 django 的默认错误消息。 我尝试了这些以列出我尝试过的一些解决方案。

class MyForm(forms.ModelForm):
    class Meta:
     error_messages = {
                'first_name': {
                    'required': _("First name is required."),
                },
            }

也试过了

class MyRequest(models.Model):

    first_name = models.CharField(
        max_length=254,
        blank=False,
        error_messages={
            'blank': 'my required msg..',
        }
    )

在模板方面我需要做些什么吗?

【问题讨论】:

    标签: html django twitter-bootstrap


    【解决方案1】:

    像这样覆盖字段

    `first_name = forms.CharField(error_messages={'required':_("First name is required.")})`
    

    注意:如果错误是针对所需条件的,则为空白或 null 添加消息不会将其删除。也在你表单的 Meta 中,别忘了添加你的模型。

    【讨论】:

      【解决方案2】:

      我建议如下:

      (一般情况下,必填属性默认分配给表单字段)

      class MyForm(forms.ModelForm):
          # we want to add or overwrite this field
          first_name = forms.CharField(label="First Name", required=True,
                                       help_text="Required: Enter your first name")
      
          class Meta:
              # If the form is related to some model, add the model name here
              model = ModelNameGoesHere
      

      【讨论】:

        猜你喜欢
        • 2011-02-25
        • 2010-12-01
        • 2023-03-31
        • 2018-02-01
        • 2014-03-11
        • 2019-03-20
        • 2019-12-16
        • 2011-06-22
        • 1970-01-01
        相关资源
        最近更新 更多