当前位置: 首页 > news >正文

电子商务的建站流程企业地址管理系统

电子商务的建站流程,企业地址管理系统,网站降权如何百度申诉,普通小程序开发者工具目录 1. 前言 2. 基础中间件 3. 如何自定义中间件 4. 五种自定义中间件类型 4.1 process_request 4.2 process_view 4.3 process_response 4.4 process_exception 4.5 process_template_response 5. 最后 1. 前言 哈喽#xff0c;大家好#xff0c;我是小K,今天咋们…目录 1. 前言 2. 基础中间件 3. 如何自定义中间件 4. 五种自定义中间件类型 4.1 process_request 4.2 process_view 4.3 process_response 4.4 process_exception 4.5 process_template_response 5. 最后 1. 前言 哈喽大家好我是小K,今天咋们分享的内容是Django中的五种自定义中间件类型 在Django中有一种特殊的存在那就是中间件。 中间件是一种轻量化、可复用的Django组件可以在请求之前、之后、视图之前或者响应之后作出一些动作例如身份验证或者限流等。 本篇文章带你学会五种自定义中间件类型 process_request、process_view、process_response、process_exception、process_template_response 2. 基础中间件 在学习自定义中间件时我们先来看Django中已有的中间件 django.middleware.security.SecurityMiddleware: 这是Django的安全中间件用于实施各种安全策略例如设置HTTP头部以防止一些类型的攻击。 django.contrib.sessions.middleware.SessionMiddleware: 这是用于处理会话的中间件它允许您在请求之间存储和检索数据。 django.middleware.common.CommonMiddleware: 这个中间件处理一般的HTTP请求和响应例如添加适当的头部信息、处理URL重定向等。 django.middleware.csrf.CsrfViewMiddleware: 这是用于处理跨站请求伪造保护的中间件它确保每个POST请求都包含有效的CSRF令牌。 django.contrib.auth.middleware.AuthenticationMiddleware: 这个中间件用于处理用户身份验证它将用户对象添加到每个请求。 django.contrib.messages.middleware.MessageMiddleware: 这个中间件用于处理Django消息框架中的消息。 django.middleware.clickjacking.XFrameOptionsMiddleware: 这个中间件用于设置X-Frame-Options头以防止点击劫持攻击。 3. 如何自定义中间件 在了解基础中间件之后我们来看看如何自定义中间件 我们可以随便创建一个文件下面创建一个自定义模块 ‘ 在这个模块中我们单独定义类 先不看具体的代码 from django.http import HttpResponse from django.utils.deprecation import MiddlewareMixinclass AuthenticateUser(MiddlewareMixin):def process_request(self, request):# request是请求相关所有的数据if request.GET.get(token) 123456: # 判断用户是否携带token也就是是否登录request.role user # 当前角色为普通用户returnreturn HttpResponse(出错了)def process_view(self, request, view, *args, **kwargs):# request是请求相关所有的数据 view是试图函数 路由参数*args, **kwargsif admin in request.path_info.split(/)[1] and request.role user: # 如果当前url以admin开头的话用户是无权限访问的return HttpResponse(无权限访问)returndef process_response(self, request, response):# request是请求相关所有的数据# response是试图函数返回的那个对象封装了要返回到用户浏览器的所有数据response[name] jiaoxingk # 在返回的时候加入一些返回值信息return responsedef process_exception(self, request, exception):print(request)print(exception, type(exception))return HttpResponse(错误了)def process_template_response(self, request, response):response.body helloreturn response接着我们需要注册中间件也就是通过字符串路径的形式进行动态导入 不知道为什么通过字符串可以动态导入的原理的话可以参考我的这篇文章 Python中的反射——getattr与动态导入模块 4. 五种自定义中间件类型 ok 现在我们来具体看看以上自定义中间件的具体代码 4.1 process_request 这是在请求到来之后所执行的操作。 请求一来最先做的应该是匹配相应的视图函数而加上process_request就代表在匹配之前就截停了请求开始执行操作 校验token看是否登录假装123456代表用户登录了 如果登录了就给该用户的角色定义为普通用户然后返回空值代表继续执行匹配 如果没有就提前截停请求直接返回响应 4.2 process_view 此时请求已经匹配到相应的视图函数但是在执行视图函数之后又做了一次操作 这里判断url的前缀是不是admin管理员才能访问的如果你只是普通用户的话那么会没有权限继续访问了。 因此这里就提前截停返回值 4.3 process_response 现在视图函数也已经执行完了该返回给浏览器了 在返回之前我加了一条响应信息代表我当前的一个记录 这是浏览器里面可以看到的 4.4 process_exception 如果在执行视图的时候出现了异常那么就会执行这里的语句 4.5 process_template_response 这个比较特殊主要对于视图函数返回内容渲染扩展。 process_template_response的调用前提是 1. 在视图函数中如果返回的对象内部有一个render方法且可以被调用执行 2. process_template_response返回response参数返回值 3. 在自定义的MyReponse的render方法中必须返回HttpRespose 基本不常用这个。 5. 最后 好了今日的中间件分享就到这里吧。 对于后两个中间件类型一般是不常用的主要还是process_request、process_view、process_response这三种用的比较多 了解到中间件的基础用法之后咋们下一节开始深入研究它的底层源码啦看看中间件到底是如何加载并且运行的。
http://www.pierceye.com/news/635751/

相关文章:

  • 怎么用ps做简单网站推广码怎么输入
  • 跨越速运网站谁做的桂林网站建设培训
  • 荥阳网站建设多少钱做网站 提要求
  • 大学生个体创业的网站建设网页素材及网站架构制作
  • 网站开发前端框架和后端框架做长海报的网站
  • 柳州网站制作建一个网站怎么赚钱
  • 建网站支持设备是什么意思wordpress 默认密码
  • 找人做效果图那个网站网站开发语言 asp
  • 山东省山东省建设厅网站首页百度助手免费下载
  • 北京网站建设认百度非企推广开户
  • 厦门模板建站系统网站icp备案信息注册
  • 网站建设维护人员多语言网站开发
  • 网站开发 论文大连微信公众号开发公司
  • 珠海网站建设王道下拉惠烟台网站制作专业
  • 用php做网站要用构架吗ios开发者模式
  • 如何实现一个制作好的网站wordpress cdn
  • 成都网站商城建设深圳制作网站制作公司哪家好
  • 谁可以做网站开发公司空置房拨款合同
  • seo网站管理网站建设信(信科网络)
  • 做网站需要哪些东西网站设计报价单模板
  • 合肥家居网站建设怎么样网站建设与维护中
  • 淘宝app网站建设做网页设计可以参考哪些网站
  • 合作建设网站协议江门seo计费管理
  • 企业管理网站模板保定网站制作设计哪个公司好
  • 物流网站查询优秀设计赏析网站
  • 设计分享网站网站建设资料需要公司提交的吗
  • 广州网站站建设培训html用户登录注册页面代码
  • 网站建设怎么购买域名怎么屏蔽2345网址导航
  • 物流网站建设推广wordpress安全配置文件
  • 做网站用哪个服务器不用备案宣传网站设计