美文网首页
Django authenticate已经包含is_active

Django authenticate已经包含is_active

作者: butters001 | 来源:发表于2020-07-14 10:24 被阅读0次

现在的 django.contrib.auth.authenticate(username=username, password=password) 默认会对is_active 进行判断
即如果用户is_active = 0, 就算用户名,密码正确,authenticate(username=username, password=password)仍然会返回None.

user = authenticate(username=username, password=password)
if not user:
        return JsonResponse({'code': 1, 'message': '用户名或密码错误'})

if not user.is_active:
        return JsonResponse({'code': 1, 'message': '用户未激活'})  # 正常情况下 永远不会走到此行代码

解决办法:
setting.py 添加如下代码即可

AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']

相关文章

网友评论

      本文标题:Django authenticate已经包含is_active

      本文链接:https://www.haomeiwen.com/subject/molxhktx.html