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) # 邮箱必填

浙公网安备 33010602011771号