dj鲜生-28-登陆验证父类的使用-Mixin类的定义
操作小结
创建一个目录和一个文件
文件中写一个登陆验证的mixin类
from django.contrib.auth.decorators import login_required
class LoginRequiredMixin(object):
@classmethod
def as_view(cls, **kwargs):
view = super(LoginRequiredMixin, cls).as_view(**kwargs)
return login_required(view)
视图文件中导入这个类,让视图类继承它,注意位置在左边
例子代码
# /user
class UserInfoView(LoginRequiredMixin, View):def get(self, request):return render(request, "user_center_info.html")# /user/order
class UserOrderView(LoginRequiredMixin, View):def get(self, request):return render(request, "user_center_order.html")# /user/address
class AddressView(LoginRequiredMixin, View):def get(self, request):return render(request, "user_center_site.html")
进度存档
https://cloud.189.cn/t/Qbue2yIvYBJv (190929登陆装饰器)
使用登陆装饰器会比较麻烦
直接让需要认证的视图类,继承一个父类
在父类中进行相关的验证
详情
正文开始>>>
关于Mixin的认识
Mixin的类的使用说明
按照范示使用就可
具体的操作
1 开始-创建目录
通用的东西
新建目录
用于存放自定义的模块
创建模块
用于写代码,代码主要就写mixin的内容
编写Mixin的类
在mixin文件中写
先导入验证装饰器
from django.contrib.auth.decorators import login_required
from django.contrib.auth.decorators import login_requiredclass LoginRequiredMixin(object):@classmethoddef as_view(cls, **kwargs):view = super(LoginRequiredMixin, cls).as_view(**kwargs)return login_required(view)
子类(mixin)
子类.as_view() ----> login_required(函数)
使用自定义Mixin的效果
对于需要登陆后验证的视图
用的时候
》路由的定义,按照普通的视图类方式定义
》在视图函数中
需要验证的视图继承
路由,变为原来的写法
代码示例
# /user
class UserInfoView(LoginRequiredMixin, View):def get(self, request):return render(request, "user_center_info.html")# /user/order
class UserOrderView(LoginRequiredMixin, View):def get(self, request):return render(request, "user_center_order.html")# /user/address
class AddressView(LoginRequiredMixin, View):def get(self, request):return render(request, "user_center_site.html")
》了解原理
效果演示视频
mixin的演示
其它视图类的mixin装备效果
dj鲜生-28-登陆验证父类的使用-Mixin类的定义相关推荐
- dj鲜生-03-用户模块的创建与模型类的创建
用户模块创建,app user (base) G:\dailyfresh>python manage.py startapp user 用户应用的注册 在配置中添加应用的名称即可 回顾要设计的模 ...
- dj鲜生-27-登陆装饰器-使用django内置的登陆装饰器
部分页面要求登陆后可见 没有登陆的用户,不让他访问 使用登陆验证装饰器实现 使用说明 导入函数 from django.contrib.auth.decorators import login_req ...
- dj鲜生-01-新建项目-配置数据库
静态页面地址 静态文件资源下载: https://cloud.189.cn/t/U7vAjafAfAVb (鲜生电商-静态页面) 创建一个项目 pycharm打开项目 数据库的准备 新建一个数据库 & ...
- dj鲜生-10200818-商品首页展示-静态页下载资源
静态页资源下载 https://cloud.189.cn/t/fqq6Vr36nIf2 (鲜生电商-静态页面) 商品首页模板处理 index.html页首理 生鲜首页的抽取过程,详解 - 知乎 htt ...
- dj鲜生-38-项目上线简介-从本地小项目到云服务的调试
小结 项目上线要做的事情有: 代码传到linux虚拟机上 准备相关的运环境 配置好ip与端口 让程序跑起来 项目上线,就是把windows上的代码,拷备到linux上,让代码跑起来 在win上跑代码的 ...
- dj鲜生-25-用户登陆验证成功-但是没有激活的处理
给前端一个链接 前端收到并以safe方式解释为html样子 用户点击链接发起新的get请求 并且带上了用户的id 对应的路由开展工作 请求的链接 路由的捕捉 视图的逻辑 1,组织内容 2,发送邮件 更 ...
- dj鲜生-08-用户注册的功能-上-实现注册的主逻辑和其本的验证功能-伴随着调试
操作页面: 注册页 http://127.0.0.1:8000/user/register/ 提交表单要考虑的内容 表单标签添加属性 操作以前 表单提交方式明确 提交去向 csrftoken防护 关注 ...
- dj鲜生-30-退出用户的登陆
退出登陆的 函数 正式使用前先测试一下 >在测试视图中练练手 访问看看效果 访问前,用户中心登陆状态 >访问后 控制台的结果 >实际的效果 已经把记录登陆状态的session数据清掉 ...
- dj鲜生-24-含资源-模板操作-注册与登陆页的模板继承
资源-继承好的模板 https://cloud.189.cn/t/vaYfE3rIVVrm (0928-继承好了的前端) 注册页面 去掉重复的内容 改造好的 完整的 同理,登陆页的模板继承 这样子写
最新文章
- 直播APP开发:直播的广告效益和号召力分析
- leetcode算法题--统计全为 1 的正方形子矩阵
- 【科技金融】CART树现金贷风控策略
- 数据库面试题【五、索引的优缺点,什么时候使用索引,什么时候不能使用索引】
- SQL语句之left join、right join、inner join的区别
- python getattrribute_python操作对象属性
- sitecore系统教程之使用修补程序文件自定义Sitecore配置
- ZeroMQZeroMQ研究与应用分析
- LINUX编译mate-desktop/pluma-1.26.0文本编辑器
- Qt5调用Snap7
- 2023毕业生必看,springboot计算机毕业设计容易通过题目都在这里!
- 资治通鉴-6 听的智慧
- 漫威java_10年漫威,到底有多少角色。
- 电信宽带连接不上无线可连接服务器,电信宽带连接为什么无线连接上宽带连接连不上...
- java web权限管理
- html文字自动调整位置,启步学HTML代码(3)文字显示位置控制的代码
- 入门UI设计一般要学习多久,学习哪些内容
- 关于RC电路耦合、相移、滤波、微分、积分的那些事儿~
- 基于chatgpt的社区教育网站开发教程
- 无线收发模块三种天线有什么区别?
热门文章
- python中的property_python中的property属性
- python bokeh 示例_Python bokeh.plotting.figure.arc()用法及代码示例
- 好玩的网页小游戏源码《星球防御战射击》
- 隹悦服务器批量控制软件
- java冒泡测试代码,冒泡排序(java可直接跑,算法思想等小儿科不多说直接上代码)...
- 超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大[转]...
- Jumpline提供的免费3月的VDS空间,空间容量为20GB, 图文介绍
- 终于我还是放手了, 但是只想说,暂别 Aptana Studio 3,Phpstorm来吧!(附:个人遇到的小问题的解决方法)...
- SEO之Google--PageRank优化剖析(三)
- 深入理解Magento – 第四章 – 模型和ORM基础