我无法登录Django的管理网站

时间:2020-08-08 19:45:09

标签: django django-admin django-custom-user

我目前在Django中使用自定义用户模型。创建用户模型并迁移到db后,我们创建了超级用户帐户并运行服务器。但是访问管理页面后,我正确输入了我的信息,但是我无法登录。我知道原因吗?这是我的代码

models.py

class UserManager(BaseUserManager):
    use_in_migrations = True

    def create_user(self, email, profile, nickname, password):
        user = self.model(
            email=self.normalize_email(email),
            nickname=nickname,
            profile=profile,
        )
        user.set_password(password)
        user.save()
        return user

    def create_superuser(self, email, password, nickname, profile):
        user = self.create_user(
            email=self.normalize_email(email),
            password=password,
            nickname=nickname,
            profile=profile,
        )
        user.staff = True
        user.admin = True
        user.save()
        return user

class User(AbstractBaseUser, PermissionsMixin):
    username = None
    email = models.EmailField(_('email address'), unique=True)
    nickname = models.CharField(max_length=10)
    profile = models.ImageField(default='default_image.jpeg')
    is_staff = models.BooleanField(_('staff status'),default=False)

    objects = UserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['nickname', 'profile']

admin.py

from django.contrib import admin
from .models import User

admin.site.register(User)

1 个答案:

答案 0 :(得分:1)

user.staff = True 行应为 user.is_staff = True

我认为您还需要在其下方添加 user.is_superuser = True