我编写了一个自定义身份验证中间件,它根据电子邮件字段而不是用户名对用户进行身份验证,但现在我无法使用超级用户/员工的电子邮件登录 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
如果有人可以帮助我解决这个问题会很棒吗?