【问题标题】:show the custom message in Django form以 Django 形式显示自定义消息
【发布时间】:2016-12-08 04:07:31
【问题描述】:

对不起,我英语不好。我在学习 Django 时遇到了一些问题。 我写了下面的代码来制作一个表格。当用户没有在文本框中输入值时,我需要显示自定义消息。

class ArticleForm(ModelForm):
    title = forms.CharField( error_messages={'required': 'Please enter title'}, 
                         max_length=128 , 
                         required=True,
                         widget=forms.TextInput(attrs={'size':60}))
    contents  = forms.CharField( required=True,
                         widget=forms.Textarea(attrs={'cols': 160, 'rows': 20}))
    email = forms.CharField(max_length=128, widget=forms.TextInput(attrs={'size':60}))
    writed_by = forms.CharField(max_length=100, 
                            required=True,
                            widget=forms.TextInput(attrs={'size':60}))
    class Meta:
        model  = Article
        fields = ["title", "writed_by", "email", "contents"]

我想在未输入标题时显示“请输入标题”消息。但表单显示默认消息。

这段代码有什么问题?

谢谢。

【问题讨论】:

    标签: python django django-forms


    【解决方案1】:

    您可以尝试在__init__() 中设置自定义消息,如下所示:

    class ArticleForm(ModelForm):
        title = forms.CharField(max_length=128, 
                                required=True,
                                widget=forms.TextInput(attrs={'size': 60}))
        class Meta:
            model  = Article
            fields = ["title"]
    
        def __init__(self, *args, **kwargs):
            super(ArticleForm, self).__init__(*args, **kwargs)
    
            # add custom error messages
            self.fields['title'].error_messages['required'] = 'Please enter title'
    

    【讨论】:

      猜你喜欢
      • 2020-02-24
      • 2017-09-01
      • 2019-04-01
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多