Задать вопрос
@Maxemp

Как отрдактировать форму регистрации django?

Как убрать то-что я выделил красным ?6d7f3879d79247ada16c1ad8d3a278c8.jpg
  • Вопрос задан
  • 1935 просмотров
Подписаться 1 Оценить 3 комментария
Решения вопроса 2
ri_gilfanov
@ri_gilfanov
Web- and desktop-developer
Maxemp, вкратце.

Объявить дочерний класс форм, унаследовавшись от UserCreationForm.

Переопределить метод __init__ дочернего класса, в нём можно поменять что угодно.

В данном случае, примерно так:

class MyUserCreationForm(UserCreationForm):
    def __init__(self, *args, **kwargs):
        super(UserCreationForm, self).__init__(*args, **kwargs)
        self.fields['username'].help_text = ''
        self.fields['password'].help_text = ''


После чего, использовать MyUserCreationForm во вьюхе вместо стандартной UserCreationForm.

Другой возможный вариант, переопределить у дочернего класса не метод __init__, а вложенный класс Meta. Выглядит примерно так:

class MyUserCreationForm(UserCreationForm):
    class Meta:
        model = User
        help_texts = {
            'password': '',
            'username': '',
        }


Но я обычно всё через __init__ переопределял. Да и указание модели вроде обязательно, а значит лишний импорт и маленькая тонкость при кастомной модели пользователя.
Ответ написан
Комментировать
Привет

Если самое простое, то:

На уровне шаблона можно указывать поля, которые ты хочешь выводить.

{{ form.review_com.error_messages }}
{{ form.review_com.help_text }}

Погугли документацию Джанго на эту тему.

А вообще я предпочитаю делать для регистрацию мануальную форму и подключать к ней js-валидацию, а юзера создавать через метод.

User.objects.create_user(***)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@popkanosoroga
Я просто в forms.py сделал label = '', то есть пустым и всё убрал
password1 = forms.CharField(label = '',required = True, widget = forms.PasswordInput(attrs = {'placeholder': 'Введите пароль'}))
password2 = forms.CharField(label = '',required = True, widget = forms.PasswordInput(attrs = {'placeholder': 'Повторите пароль'})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы