A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© A181202875 初级黑马   /  2019-6-1 11:49  /  771 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

---增加authenticate,多账户判断---
注入设置 -> (二选一)使用装饰器,类继承 -> 加入所需功能

----settings中注入----
AUTHENTICATION_BACKENDS = ['meiduo_mall.utils.authenticate.NewAuth']

----新增authenticate用途----
from django.contrib.auth.backends import ModelBackend

# 继承原功能
class NewAuth(ModelBackend):
    def authenticate(self, request, username=None, password=None, **kwargs)
                # 用户判定
        try:
            user = User.objects.get(username=username)
        except:
            try:
                user = User.objects.get(mobile=username)
            except:
                return None
        # 密码判定   
        if user.check_password(password):
            return user
        else:
            return None

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马