如何在django中设置用邮箱也可以登录?
Posted 叉歪叉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在django中设置用邮箱也可以登录?相关的知识,希望对你有一定的参考价值。
首先在view.py中构建一个类集成ModelBackend,在这个类里重写authenticate,通过Q添加邮箱验证的方式。
from django.contrib.auth.backends import ModelBackend
from django.db.models import Q
class CustomBackend(ModelBackend):
def authenticate(self, username=None, password=None, **kwargs):
try:
user = UserProfile.objects.get(Q(username=username)|Q(email=username)) #UserProfile是我自己写的用户类替代了系统默认的user类
if user.check_password(password):
return user
except Exception as e:
return None
然后在settings中添加:
AUTHENTICATION_BACKENDS = (
‘users.views.CustomBackend‘,
)
以上是关于如何在django中设置用邮箱也可以登录?的主要内容,如果未能解决你的问题,请参考以下文章
263企业邮箱 如何在Outlook邮件客户端中设置IMAP收发邮件
263企业邮箱 如何在Outlook邮件客户端中设置IMAP收发邮件