【发布时间】:2017-04-22 01:45:16
【问题描述】:
我在网上找到了一个脚本,它可以帮助我将登录更改为同时使用用户名和电子邮件,而不仅仅是用户名,但有很多部分我并不真正理解。
就像,我非常了解每一行的含义,但我不明白为什么这样做会使我的登录与电子邮件一起使用。
class EmailBackend(object):
def authenticate(self, username=None, password=None):
user_cls = get_user_model()
try:
user = user_cls.objects.get(email=username)
if user.check_password(password):
return user
except user_cls.DoesNotExist:
return None
except:
return None
def get_user(self, user_id):
user_cls = get_user_model()
try:
return user_cls.objects.get(pk=user_id)
except user_cls.DoesNotExist:
return None
提前致谢。
【问题讨论】:
-
此脚本使用用户名标题而不是电子邮件,但在后端此用户名必须是电子邮件
user = user_cls.objects.get(email=username)您可以将用户名更改为电子邮件,没关系。