Добавить help_text в UserCreationForm - PullRequest
0 голосов
/ 12 апреля 2020

Я использую UserCreationForm в Django и пытаюсь добавить help_text в поле электронной почты.

Вот код forms.py:

from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm, UserChangeForm

class CustomUserCreationForm(UserCreationForm):

    class Meta(UserCreationForm):
        model = get_user_model()
        fields = ('email','username',)
        help_texts = {
            'email': 'Use your work email',
        }

Я использую Хрустящие формы для его рендеринга, а не рендеринга help_text.

В качестве другого подхода я попытался добавить это в класс:

def __init__(self, *args, **kwargs):
    super(CustomUserCreationForm, self).__init__(*args, **kwargs)
    self.fields['email'].help_text = 'hello'

Но это тоже не сработало.

Чего мне не хватает?

РЕДАКТИРОВАТЬ: я понял, что ошибся с этим вопросом. Этот проект переключился на использование django -allauth, но оставил forms.py в пользовательском приложении этого проекта django. Поэтому ни одно из изменений в этих формах не имело никакого эффекта. Проверка настроек показала бы, что он использует allauth.

1 Ответ

0 голосов
/ 13 апреля 2020

help_texts не является атрибутом класса Meta формы. Вы можете добавить текст справки для поля электронной почты в вашей модели, например:

    email = models.EmailField(max_length=200, help_text='use your work email', blank=True, null=True)

Поскольку электронная почта не является одним из полей UserCreationForm (см. https://docs.djangoproject.com/en/3.0/topics/auth/default/#django .contrib.auth.forms .UserCreationForm ), установка поля через init не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...