Django регитрация

Дополнил стандартную модель пользователя своими полями, хочу добавить в форму регистрации эти поля, но ничего не получается, пробовал разные варианты

class UserRegisterForm(forms.ModelForm):

username = forms.CharField()
password = forms.PasswordInput()
confirm_password = forms.PasswordInput()
phone = PhoneNumberField()
name = forms.CharField()
email = forms.EmailField()


def __init__(self, *args, **kwargs):
    super().__init__(self, *args, **kwargs)
    self.fields['username'].label = 'Логин'
    self.fields['password'].label = 'Пароль'
    self.fields['confirm_password'].label = 'Подтверждение пароля'
    self.fields['phone'].label = 'Номер телефона'
    self.fields['name'].label = 'Имя'
    self.fields['email'].label = 'Почта'


def clean_email(self):
    email = self.cleaned_data['email']
    if User.objects.filter(email=email).exists():
        raise forms.ValidationError('Данный почтовый адрес уже зарегистрирован в системе')
    return email


def cean_username(self):
    username = self.cleaned_data['username']
    if User.objects.filter(username=username).exists():
        raise forms.ValidationError(f'Имя {username} уже занято')
    return username


def clean(self):
    password = self.cleaned_data['password']
    confirm_password = self.cleaned_data['confirm_password']
    if password != confirm_password:
        raise forms.ValidationError('Пароли не совпадают')
    return self.cleaned_data



class Meta:
    model = User
    fields = ['username', 'password', 'confirm_password', 'phone', 'name', 'email']

Вот второй вариант

class UserRegisterForm(UserCreationForm):

class Meta:
    model = User
    fields = ['username', 'password1', 'password2', 'phone', 'first_name', 'email']

Модель

class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
phone = PhoneNumberField(blank=True)
birth_day = models.DateField(null=True, blank=True)
photo = models.ImageField(
    'Фото пользователя', upload_to='user/photo/', blank=True, null=True)
orders = models.ManyToManyField('Order', related_name='orders', verbose_name='заказы', blank=True)
Вернуться на верх