Вход не работает для обычного пользователя в Django DRF
Я добавил обычного пользователя через приложение admin, но когда я пытаюсь войти на сайт, ничего не происходит. Может что-то не так с моей пользовательской моделью пользователя? Или это может быть что-то другое?
Пользовательские модели пользователей'
Models.py:
from django.db import models
from django.contrib.auth import models as auth_models
class UserManager(auth_models.BaseUserManager):
def create_user(
self,
first_name: str,
last_name: str,
email: str,
password: str = None,
is_staff=False,
is_superuser=False,
) -> "User":
if not email:
raise ValueError("User must have an email")
if not first_name:
raise ValueError("User must have a first name")
if not last_name:
raise ValueError("User must have a last name")
user = self.model(email=self.normalize_email(email))
user.first_name = first_name
user.last_name = last_name
user.set_password(password)
user.is_active = True
user.is_staff = is_staff
user.is_superuser = is_superuser
user.save()
return user
def create_superuser(
self, first_name: str, last_name: str, email: str, password: str
) -> "User":
user = self.create_user(
first_name=first_name,
last_name=last_name,
email=email,
password=password,
is_staff=True,
is_superuser=True,
)
user.save()
return user
class User(auth_models.AbstractUser):
first_name = models.CharField(verbose_name="First Name", max_length=255)
last_name = models.CharField(verbose_name="Last Name", max_length=255)
email = models.CharField(verbose_name="Email or Phone Number", max_length=255, unique=True)
password = models.CharField(max_length=255)
username = None
objects = UserManager()
USERNAME_FIELD = "email"
REQUIRED_FIELDS = ["first_name", "last_name"]
Admin.py:
rom django.contrib import admin
from . import models
class UserAdmin(admin.ModelAdmin):
list_display = ("id", "first_name", "last_name", "email")
admin.site.register(models.User, UserAdmin)
Заранее спасибо, если вы не возражаете, не могли бы вы объяснить ваш ответ более подробно.