美文网首页
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