1

我编写了一个自定义身份验证中间件,它根据电子邮件字段而不是用户名对用户进行身份验证,但现在我无法使用超级用户/员工的电子邮件登录 Django 的管理面板:

def authenticate(self, username=None, password=None):
    # Passing email as username
    try:
        user = User.objects.get(email=username)
        if user.check_password(password):
            return user
    except User.DoesNotExist:
        return None

 def get_user(self, user_id):
   # Get User Object from user_id
    try:
        return User.objects.get(pk=user_id)
    except User.DoesNotExist:
        return None

如果有人可以帮助我解决这个问题会很棒吗?

4

0 回答 0