Auth模块简介
auth模块可以完成自动完成注册登录等所有的功能
在models执行数据库迁移命令的时候,会自动生成一张auth_user表
django在启动之后提供了一个admin后台管理的登录界面,登录此界面可以管理所有的数据表
admin后台管理表参考的就是auth_user表,在后台执行
python manage.py createsuperuser创建超级用户
Auth方法总结
1.authenticate方法
user_obj = authenticate(request, username= ,password=)
登录是会自动将用户提交的数据与数据表auth_user中的用户密码进行比对
如果比对成功则返回一个对象,比对失败则返回None
2.auth.login方法
auth.login(request,user_obj)
会自动存储用户的sessions信息,
并且执行后在任何地方都能通过request.user拿到对象以及其中属性
3. login_required方法
自定义跳转页面的两种方式
1.局部跳转
login_required(login_url='/xxx/')
2.全局跳转
在配置文件中配置路径:LOGIN_URL = '/login/'
ps:局部跳转优先于全局跳转
4.request.user
拿到用户对象
5.request.user.is_authenticated()
登录返回True,未登录返回Flase
判断用户是否登录
6.requets.user.check_password(old_password)
自动检测密码输入是否正确,可以使用在修改密码
成功返回
7.requets.user.set_password(new_password)
修改密码,执行完上述需要执行requst.user.save()保存到数据库
8.autho.logout