【问题标题】:Django rest framework simple-jwt error "detail": "No active account found with the given credentials"Django rest 框架 simple-jwt 错误“详细信息”:“没有找到具有给定凭据的活动帐户”
【发布时间】:2020-09-12 02:30:06
【问题描述】:

我在 Django 中创建了一个自定义用户模型,并使用 djangorestframework simplejwt 进行身份验证(登录和注册)。

型号:

class UserAccountManager(BaseUserManager):
    def create_user(self, email, name, password=None):
        if not email:
            raise ValueError('Users must have unique email address')

        email = self.normalize_email(email)
        user = self.model(email=email, name=name)

        user.set_password(password)
        user.save()

        return user

    def create_superuser(self, email, name, password):
        user = self.create_user(email, name, password)

        user.is_superuser = True
        user.is_staff = True
        user.save()

        return user

class UserAccount(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(max_length=255, unique=True)
    name = models.CharField(max_length=255)
    active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)

    objects = UserAccountManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['name']

    def get_full_name(self):
        return self.name

    def get_short_name(self):
        return self.name

    def __str__(self):
        return self.email

我可以很好地注册,但是当我尝试登录时(使用邮递员),它显示以下消息:

{
    "detail": "No active account found with the given credentials"
}

我的所有凭据都是准确的,并且我通过 python shell 检查了我的用户都处于活动状态并且拥有正确的电子邮件~密码。我做错了什么?

【问题讨论】:

  • 您是否在settings.py文件中注册了自定义用户模型?
  • 是的,该应用程序已注册并且也在 AUTH_USER_MODEL 中

标签: django django-rest-framework jwt django-rest-framework-simplejwt


【解决方案1】:

使用您的超级用户凭据查看它是否正常工作

【讨论】:

  • 这真的应该是评论
【解决方案2】:

您应该在设置 JWT 身份验证后创建新的超级用户帐户

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 2020-03-05
    • 2019-09-18
    • 2022-08-04
    • 2016-01-27
    • 2017-05-15
    • 2018-02-13
    相关资源
    最近更新 更多