Dodam, że dopiero zaczynam z pythonem i django.
Tworze sobie projekt w django 5.1 i użyłem metody logowania allauth, logowanie przez mail działa dobrze tylko ja będą musiał do konta uzytkownika dac kilka pól dotyczących uzytkownika jedno wartośc jednego pola będzie tworzona przy rejestracji i uzytkownik sam je wpisze podczas rejestracji i teraz jak to najprościej zrobić przez ten system logowania allauth ?
W projekcie jest na razie jedna aplikacji o nazwie main.
Już coś tam zacząłem robić dodałem do aplikacji main w moim projekcie w modelu takie linijki
from django.contrib.auth.models import (
BaseUserManager, AbstractBaseUser, PermissionsMixin
)
from django.db import models
from django.conf import settings
from django.db import models
from django.utils import timezone
class UserManager(BaseUserManager):
def create_user(self, email, password=None):
if not email:
raise ValueError("Users must have an email address.")
user = self.model(email=self.normalize_email(email))
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, email, password):
user = self.create_user(email,password=password)
user.is_superuser = True
user.is_staff = True
user.save(using=self._db)
return user
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(
verbose_name='email address',
unique=True,
db_index=True,
)
full_name = models.CharField(
max_length=191,
blank=True,
)
short_name = models.CharField(
max_length=191,
blank=True,
)
start_day = models.SmallIntegerField(
default=0,
)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
objects = UserManager()
USERNAME_FIELD = "email"
def get_full_name(self):
return self.full_name
def get_short_name(self):
return self.short_name
def __str__(self):
return f"{self.email} ({self.full_name})"
po tej opoeracji dostaje taki błąd
Traceback (most recent call last):
File "/usr/lib/python3.14/threading.py", line 1082, in _bootstrap_inner
self._context.run(self.run)
~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/lib/python3.14/threading.py", line 1024, in run
self._target(*self._args, **self._kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
~~^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/django/core/management/commands/runserver.py", line 134, in inner_run
self.check(display_num_errors=True)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/django/core/management/base.py", line 563, in check
raise SystemCheckError(msg)
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
ERRORS:
auth.User.groups: (fields.E304) Reverse accessor 'Group.user_set' for 'auth.User.groups' clashes with reverse accessor for 'main.User.groups'.
HINT: Add or change a related_name argument to the definition for 'auth.User.groups' or 'main.User.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor 'Permission.user_set' for 'auth.User.user_permissions' clashes with reverse accessor for 'main.User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'auth.User.user_permissions' or 'main.User.user_permissions'.
main.User.groups: (fields.E304) Reverse accessor 'Group.user_set' for 'main.User.groups' clashes with reverse accessor for 'auth.User.groups'.
HINT: Add or change a related_name argument to the definition for 'main.User.groups' or 'auth.User.groups'.
main.User.user_permissions: (fields.E304) Reverse accessor 'Permission.user_set' for 'main.User.user_permissions' clashes with reverse accessor for 'auth.User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'main.User.user_permissions' or 'auth.User.user_permissions'.
WARNINGS:
?: settings.ACCOUNT_AUTHENTICATION_METHOD is deprecated, use: settings.ACCOUNT_LOGIN_METHODS = {'email'}
?: settings.ACCOUNT_EMAIL_REQUIRED is deprecated, use: settings.ACCOUNT_SIGNUP_FIELDS = ['email*', 'password1*', 'password2*']
?: settings.ACCOUNT_USERNAME_REQUIRED is deprecated, use: settings.ACCOUNT_SIGNUP_FIELDS = ['email*', 'password1*', 'password2*']
System check identified 7 issues (0 silenced).