【18.0】Django框架之auth模块
【一】Auth模块引入
-
我们在创建一个Django项目之后,直接执行数据库迁移命令会自动生成很多表
django_session
auth_user
-
Django在启动之后就可以直接访问admin路由,需要输入用户名和密码,数据参考的就是
auth_user
表,并且必须是管理员用户才能进入
【二】创建超级用户(管理员)
【三】依赖于auth_user表完成登录注册功能
【1】基础登陆
- 路由
- 前端
- 后端
【2】保存用户状态
- 如果使用auth模块,就使用其中所有封装好的方法
- 如果不想使用,就单独封装方法,不要调用其中的方法
auth.login(request, user_obj)
- 类似于
request.session[key] = user_obj
- 只要执行了上面的方法,就可以在任何地方通过
request.user
获取当前用户的登录对象
- 类似于
【3】登录后跳转
- 判断用户是否登录
(1)登录后才能访问页面 -- 局部配置
(2)登录后才能访问页面 -- 全局配置
- 在
settings
文件中添加
(3)小结
-
局部/全局优先级
- 局部大于全局
-
各自的优点
- 全局的好处在于无需书写重复的代码,但是页面的跳转很单一
- 局部的好处是在于不同的视图函数再用户没有登陆的情况下可以跳转到不同的页面
【三】修改密码
- 路由
- 后端
- 前端
【四】注销
- 路由
- 后端
【五】注册功能
- 路由
- 后端
【六】方法总结
【1】校验密码是否正确
【2】保存用户状态
【3】判断当前用户是否登录
【4】获取当前登录的用户
【5】检验用户是否登录装饰器
-
(1)局部配置
-
(2)全局配置
-
(3)全局/局部的优缺点
【6】校验原密码
【7】修改密码
【8】注销登录用户
【9】注册
【七】扩展 auth_user
表
【1】方式一
【2】方式二
- 需要再配置文件中声明 Django 要使用
UserInfo
替代auth_user
- 如果自己写表代替了
auth_user
auth模块
功能正常使用,参考的表也由auth_user
变成了UserInfo
__EOF__

本文作者:Chimengmeng
本文链接:https://www.cnblogs.com/dream-ze/p/17563263.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/dream-ze/p/17563263.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17563263.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?