我正在嘗試創建自定義用戶模型,但是當我使用“python manage.py createsuperuser”創建超級用戶并嘗試從 django 管理員登錄時,我收到以下訊息:
請輸入正確的員工帳戶用戶名和密碼。兩個地方都要注意大小寫。
用戶名和密碼正確。
這是我的模型:
class MyUserManager(BaseUserManager):
def create_user(self, username, password, **extra_fields):
user = self.model(username=username)
user.set_password(password)
user.save()
return user
def create_superuser(self, username, password, **extra_fields):
extra_fields.setdefault('is_staff', True)
extra_fields.setdefault('is_superuser', True)
extra_fields.setdefault('is_active', True)
return self.create_user(username, password, **extra_fields)
class User(AbstractBaseUser, PermissionsMixin):
username = models.CharField(max_length=10,unique=True)
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = []
publisher = models.BooleanField(default=False)
admin = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
objects = MyUserManager()
def __str__(self):
return self.username
uj5u.com熱心網友回復:
extra_fields創建用戶時必須包含您的。所以你的第三行必須如下所示:
user = self.model(username=username, **extra_fields)
uj5u.com熱心網友回復:
您可以嘗試包含django.contrib.auth.backends.ModelBackend在AUTHENTICATION_BACKENDS 引數中。類似的問題可以在這里找到。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/439425.html
標籤:Python django django-rest-framework
上一篇:Django身份驗證應用程式
下一篇:為什么:''是Bash中的評論?
