python - 以 Django 形式显示自定义消息

标签 python django django-forms

抱歉,我英语不好。我在学习 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"]

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

这段代码有什么问题?

谢谢。

最佳答案

您可以尝试在 __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'

关于python - 以 Django 形式显示自定义消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41031597/

相关文章:

python - 在特定元素的实例之后从列表中提取相同的元素 block

python - 如何检查 Django 项目中正在使用哪个数据库

python - 确定为什么一个对象不能被 pickle

python - Django - ManyToManyField 未显示在表单中

django - 如何在 POST 请求后返回重定向到 Django 中的上一页

python - Python 中 elif 的字典理解?

django - 使用 Django Rest Framework 在 Pre_Save 中引发验证错误

python - 如何在 Django 中将控制台输出显示为 HTML?

django - 如何配置 xampp 来运行 django

django - 字段标签脆形式 Django