我需要将error_messages
的形式从英语更改为西班牙语。
我发现了类似的问题:
Django - change field validation message
我正在使用它的第二个选项2.1。但它不起作用,为什么?
my_default_errors = {
'required': 'Este campo es obligatorio',
'invalid': 'Ese nombre de usuario ya está tomado'
}
class SignUpForm(UserCreationForm):
first_name = forms.CharField(label= "Nombre", max_length=100, required=True)
last_name = forms.CharField(label = 'Apellido', max_length=100, required=True)
username = forms.CharField(label='Nombre de usuario', max_length=100, required=True, error_messages=my_default_errors)
email = forms.EmailField(label='Correo electrónico', max_length=60, required=True)
password1 = forms.CharField(label = 'Contraseña', widget=forms.PasswordInput)
password2 = forms.CharField(label='Confirmar contraseña', widget=forms.PasswordInput)
def __init__(self, *args, **kwargs):
super(SignUpForm, self).__init__(*args, **kwargs)
for fieldname in ['username', 'password1', 'password2']:
self.fields[fieldname].help_text = None
class Meta:
model = User
fields = ('first_name', 'last_name', 'username', 'email', 'password1',
'password2')
答案 0 :(得分:0)
关于model fields error_messages
的文档提到了消息密钥unique
,但是在forms
文档中我找不到任何提及。
也许对您有用,将此密钥添加到dict
:
my_default_errors = {
...
'unique': 'Ese nombre de usuario ya está tomado',
}