python测试开发django-74.auth认证之is_active
2021-05-05 13:29
标签:tin imp OLE mic mamicode model png amd 生效 在 django 的 User 表里面有个 is_active 字段可以判断用户是否是激活状态。 create_user 创建新用户的时候 is_active 默认是1,也就是True 当修改用户的 is_active 状态,改成 False 时 再次用 authenticate 校验登录状态 此时账号密码验证不通过,这样就跟输错密码是一样的了,无法知道用户is_active状态 django的默认配置 AUTHENTICATION_BACKENDS = [‘django.contrib.auth.backends.ModelBackend‘] 需在 settings.py 文件里加上下面的配置 加上配置后,重新打开shell 这样 is_active 就会生效了! python测试开发django-74.auth认证之is_active 标签:tin imp OLE mic mamicode model png amd 生效 原文地址:https://www.cnblogs.com/yoyoketang/p/13192138.html前言
使用 authenticate 校验登录的时候 is_active 是不生效的。authenticate 登录
D:\code202003\MyDjango>python manage.py shell
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.contrib.auth.models import User
>>> from django.contrib.auth import authenticate
>>> user=User.objects.create_user(username="test",password="test")
>>> user
>>> a=authenticate(username="test",password="test")
>>> a.is_active=False
>>> a.save()
>>> a.is_active
False
>>> from django.contrib.auth.models import User
>>> from django.contrib.auth import authenticate
>>> a=authenticate(username="test",password="test")
>>> a
不检测用户的活跃状态
会检测用户是否是活跃状态(is_active),不活跃则返回None(默认配置)
# 不会检测用户的活跃状态
AUTHENTICATION_BACKENDS = [‘django.contrib.auth.backends.AllowAllUsersModelBackend‘]
is_active
D:\code202003\MyDjango>python manage.py shell
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.contrib.auth.models import User
>>> from django.contrib.auth import authenticate
>>> a=authenticate(username="test",password="test")
>>> a
上一篇:Python time
文章标题:python测试开发django-74.auth认证之is_active
文章链接:http://soscw.com/index.php/essay/82759.html