如何修改djoser帐户验证系统



这是我的自定义用户模型:

class Account(AbstractBaseUser):
email = models.EmailField(unique=True, max_length=255)
firstname = models.CharField(max_length=40)
lastname = models.CharField(max_length=40)
date_joined = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
is_verif = models.BooleanField(default=)
is_superuser = models.BooleanField(default=False)
USERNAME_FIELD = "email"
REQUIRED_FIELDS = ["firstname", "lastname"]
objects = AccountManager()
def __str__(self):
return self.email

@property
def is_staff(self):
return self.is_superuser
@property
def is_admin(self):

return self.is_superuser

def has_perm(*args, **kwargs):
return True
def has_module_perms(*args, **kwargs):
return True

所以现在我有一个标准的djoser帐户验证系统。因此,我无法使用未经验证的用户登录,因为is_active字段设置为False

我在哪里以及如何修改代码,以便每次验证帐户时,它都会检查is_verif字段而不是is_active,并且is_active字段始终设置为True?

谢谢

您可以使用@property decorator将is_active字段替换为名为is_active的方法,并且在该方法内部返回is_verif值。

@property
def is_active(self):
return self.is_verif

但是,只有当您不需要is_active字段时,此解决方案才有效。

相关内容

  • 没有找到相关文章

最新更新