Django: переопределить сообщения form.errors в UserCreationForm - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь переопределить (добавить языки) сообщения от form.errors. Я пробовал это:

forms.py

class CreateUserForm(UserCreationForm):
    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']


    def __init__(self, *args, **kwargs):
        super(CreateUserForm, self).__init__(*args, **kwargs)
        self.error_messages['duplicate_username'] = 'some message'

После отправки формы она не сохраняется, потому что имя пользователя уникально, и ошибка отображается на шаблон. Я хотел бы сделать то же самое с паролем, но я не могу найти ключ ошибок для каждой проверки пароля. Можете ли вы предоставить мне это?

1 Ответ

1 голос
/ 07 апреля 2020

установить error_messages - (Django do c) атрибут в мета-классе как,

class CreateUserForm(UserCreationForm):
    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']
        <b>error_messages = {
            'username': {
                'unique': 'Your Custom Error Message here !!!',
            },
        }</b>

Если вы хотите переопределить сообщение об ошибке несоответствие пароля , переопределить атрибут error_messages в классе формы (не в классе Meta), как показано ниже,

class CreateUserForm(UserCreationForm):
    <b>error_messages = {
        'password_mismatch': "Your Password Mismatch For 'UserCreationForm' class",
    }</b>
    # other code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...