Python 覆盖django中电子邮件输入小部件中的默认错误消息

Python 覆盖django中电子邮件输入小部件中的默认错误消息,python,django,forms,validation,Python,Django,Forms,Validation,我试图覆盖Django中默认的无效电子邮件错误消息。正如Django文档所说,下面的代码应该可以工作,但事实并非如此。我如何调整它 class BootstrapAuthenticationForm(AuthenticationForm): forms.Form.error_css_class = 'error' email = forms.EmailField(max_length=254, error_messages={'requir

我试图覆盖Django中默认的无效电子邮件错误消息。正如Django文档所说,下面的代码应该可以工作,但事实并非如此。我如何调整它

class BootstrapAuthenticationForm(AuthenticationForm):
forms.Form.error_css_class = 'error'
email = forms.EmailField(max_length=254,
                            error_messages={'required': 'Please enter a valid email address.',
                                            'invalid': 'Please enter a valid email address.'},
                           widget=forms.EmailInput({
                               'required': True,
                               'class': 'form-control', 
                               'placeholder': 'E-mail address',
                               }))
而且,error_css_类工作不正常:根本没有任何更改。这个设置有什么问题


提前谢谢

您可以使用EmailValidator:

email = forms.EmailField(max_length=254, validators=[EmailValidator(message="Your message")]

这里有一个错误:
widget=forms.EmailInput({..})
它应该是
widget=forms.EmailInput(attrs={…})
小部件正在正确地呈现,所以没有问题。问题是错误消息没有覆盖默认消息。好吧,我已经测试了自己,是的,它工作不正常,对于Charfield,它几次都不工作,我不确定这可能是我的浏览器的缓存问题。无论如何,我会建议您使用JS或forms clean方法作为解决方案。我已经更改为ATTR,但它并没有按照我的意思进行渲染。它在模板(html)中正确呈现,因此错误消息很好地绑定到EmailField。但是我想覆盖来自EmailInput的错误消息——内联弹出错误消息。不管怎样,谢谢。正如我上面提到的,如果我想将模板(html)中的自定义错误消息呈现为field.errors,这很好。问题是如何覆盖来自EmailInput小部件的默认错误消息,即内联弹出错误消息。谢谢