操作小结

创建一个目录和一个文件

文件中写一个登陆验证的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类的定义相关推荐

  1. dj鲜生-03-用户模块的创建与模型类的创建

    用户模块创建,app user (base) G:\dailyfresh>python manage.py startapp user 用户应用的注册 在配置中添加应用的名称即可 回顾要设计的模 ...

  2. dj鲜生-27-登陆装饰器-使用django内置的登陆装饰器

    部分页面要求登陆后可见 没有登陆的用户,不让他访问 使用登陆验证装饰器实现 使用说明 导入函数 from django.contrib.auth.decorators import login_req ...

  3. dj鲜生-01-新建项目-配置数据库

    静态页面地址 静态文件资源下载: https://cloud.189.cn/t/U7vAjafAfAVb (鲜生电商-静态页面) 创建一个项目 pycharm打开项目 数据库的准备 新建一个数据库 & ...

  4. dj鲜生-10200818-商品首页展示-静态页下载资源

    静态页资源下载 https://cloud.189.cn/t/fqq6Vr36nIf2 (鲜生电商-静态页面) 商品首页模板处理 index.html页首理 生鲜首页的抽取过程,详解 - 知乎 htt ...

  5. dj鲜生-38-项目上线简介-从本地小项目到云服务的调试

    小结 项目上线要做的事情有: 代码传到linux虚拟机上 准备相关的运环境 配置好ip与端口 让程序跑起来 项目上线,就是把windows上的代码,拷备到linux上,让代码跑起来 在win上跑代码的 ...

  6. dj鲜生-25-用户登陆验证成功-但是没有激活的处理

    给前端一个链接 前端收到并以safe方式解释为html样子 用户点击链接发起新的get请求 并且带上了用户的id 对应的路由开展工作 请求的链接 路由的捕捉 视图的逻辑 1,组织内容 2,发送邮件 更 ...

  7. dj鲜生-08-用户注册的功能-上-实现注册的主逻辑和其本的验证功能-伴随着调试

    操作页面: 注册页 http://127.0.0.1:8000/user/register/ 提交表单要考虑的内容 表单标签添加属性 操作以前 表单提交方式明确 提交去向 csrftoken防护 关注 ...

  8. dj鲜生-30-退出用户的登陆

    退出登陆的 函数 正式使用前先测试一下 >在测试视图中练练手 访问看看效果 访问前,用户中心登陆状态 >访问后 控制台的结果 >实际的效果 已经把记录登陆状态的session数据清掉 ...

  9. dj鲜生-24-含资源-模板操作-注册与登陆页的模板继承

    资源-继承好的模板 https://cloud.189.cn/t/vaYfE3rIVVrm (0928-继承好了的前端) 注册页面 去掉重复的内容 改造好的 完整的 同理,登陆页的模板继承 这样子写

最新文章

  1. 直播APP开发:直播的广告效益和号召力分析
  2. leetcode算法题--统计全为 1 的正方形子矩阵
  3. 【科技金融】CART树现金贷风控策略
  4. 数据库面试题【五、索引的优缺点,什么时候使用索引,什么时候不能使用索引】
  5. SQL语句之left join、right join、inner join的区别
  6. python getattrribute_python操作对象属性
  7. sitecore系统教程之使用修补程序文件自定义Sitecore配置
  8. ZeroMQZeroMQ研究与应用分析
  9. LINUX编译mate-desktop/pluma-1.26.0文本编辑器
  10. Qt5调用Snap7
  11. 2023毕业生必看,springboot计算机毕业设计容易通过题目都在这里!
  12. 资治通鉴-6 听的智慧
  13. 漫威java_10年漫威,到底有多少角色。
  14. 电信宽带连接不上无线可连接服务器,电信宽带连接为什么无线连接上宽带连接连不上...
  15. java web权限管理
  16. html文字自动调整位置,启步学HTML代码(3)文字显示位置控制的代码
  17. 入门UI设计一般要学习多久,学习哪些内容
  18. 关于RC电路耦合、相移、滤波、微分、积分的那些事儿~
  19. 基于chatgpt的社区教育网站开发教程
  20. 无线收发模块三种天线有什么区别?

热门文章

  1. python中的property_python中的property属性
  2. python bokeh 示例_Python bokeh.plotting.figure.arc()用法及代码示例
  3. 好玩的网页小游戏源码《星球防御战射击》
  4. 隹悦服务器批量控制软件
  5. java冒泡测试代码,冒泡排序(java可直接跑,算法思想等小儿科不多说直接上代码)...
  6. 超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大[转]...
  7. Jumpline提供的免费3月的VDS空间,空间容量为20GB, 图文介绍
  8. 终于我还是放手了, 但是只想说,暂别 Aptana Studio 3,Phpstorm来吧!(附:个人遇到的小问题的解决方法)...
  9. SEO之Google--PageRank优化剖析(三)
  10. 深入理解Magento – 第四章 – 模型和ORM基础