Как добавить в форму регистраций доп.поля Django

class UserRegisterForm(UserCreationForm):

   username = forms.CharField(label='Имя пользователя', 
   widget=forms.TextInput(attrs={'class': 'form-control'}))

  email = forms.EmailField(label='Почта', widget=forms.EmailInput(attrs={'class': 'form-control'}))

  password1 = forms.CharField(label='Пароль', widget=forms.PasswordInput(attrs={'class': 'form-control'}))
  password2 = forms.CharField(label='Подтверждение пароля', widget=forms.PasswordInput(attrs={'class': 'form-control'}))

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

Допустим есть такая форма. как мне сделать так чтобы я добавил еще какие-то поля, например фото, поля и тд?

Просто добавив в форму нужное поле не получится. В твоём нужно будет переопределить модель пользователя. Есть несколько вариантов как это сделать. Если тебе нужно только добавить поля, то настоятельно рекомендую использовать AbstractUser. Почитай эту статью, здесь подробно всё написано: https://tproger.ru/translations/extending-django-user-model/

Ещё советую почитать документацию django: https://docs.djangoproject.com/en/4.0/topics/auth/customizing/

Вот пример с AbstractUser:

models.py

from django.db import models
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
    # Добавляй поля, которые тебе нужны
    bio = models.TextField(max_length=500, blank=True)
    location = models.CharField(max_length=30, blank=True)
    birth_date = models.DateField(null=True, blank=True)

Добавьте следующую строчку в конец файла settings.py:

settings.py

AUTH_USER_MODEL = 'app_name.User'
# Указывай название твоего приложение и название модели
Вернуться на верх