auth模块

方法:

1.比对用户名和密码

user_obj = auth.authenticate(request,username=username,password=password)

print(user_obj)   # 用户对象eric   数据不符合则返回None

print(user_obj.username)  # eric

print(user_obj.password)  #  密码password

 

2.保存用户状态

auth.login(request,user_obj) # 类似于设置session的功能request.session[key] = user_obj

# 保存用户状态后,可以随时通过request.user获取到当前登录的用户对象

 

3.判断当前用户是否登录

request.user.is_authenticated()

 

4.获取当前登录用户

request.user

 

5.校验用户是否登录的装饰器

from django.contrib.auth.decorators import login_required

# 局部配置

@login_required(login_url='/login/')  # 参数为自己设置的跳转页面

# 全部配置

LOGIN_URL = '/login/'

 

6.密码处理

# 比对原密码

request.user.check_password(old_password)

# 修改密码

request.user.set_password(new_password)

request.user.save()

 

7.注销

auth.logout(request)

 

8.注册

# 操作auth_user表写入数据

User.objects.create(username=username,password=password) # 写入数据,但是数据库保存的密码是明文的

# 创建普通用户

User.objects.create_user(username=username,password=password)

# 创建超级用户

User.objects.create_superuser(username=username,email='aaa@gmail.com',password=password)  # 邮箱必填

 

posted @ 2022-04-23 00:55  EricYJChung  阅读(36)  评论(0)    收藏  举报