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

网站建设 模板猎头公司的原则是

网站建设 模板,猎头公司的原则是,网站 使用的字体,仿5173网站目录 一、引入 二、Django中间件介绍 【1】什么是Django中间件 【2】Django中间件的作用 【3】示例 三、Django请求生命周期流程图 四、Django中间件是Django的门户 五、Django中间件详解 六、中间件必须要掌握的两个方法 (1) process_request (2) process_respon…目录 一、引入 二、Django中间件介绍 【1】什么是Django中间件 【2】Django中间件的作用 【3】示例 三、Django请求生命周期流程图 四、Django中间件是Django的门户 五、Django中间件详解 六、中间件必须要掌握的两个方法 (1)  process_request (2)  process_response 七、自定义中间件 【1】process_request 【2】process_response 【3】小结 一、引入 Django自带七个中间件每个中间件都有各自对应的功能并且Django支持用户自定义中间件在使用Django框架开发项目的时候只要是涉及到全局相关的功能都可以使用中间件更加方便的完成 比如全局身份校验全局用户权限校验全局访问频率的校验... 二、Django中间件介绍 【1】什么是Django中间件 Django中间件是一个轻量级、可重用的组件用于处理Django请求和响应的过程。它提供了对请求和响应进行全局处理的机制可以在请求达到视图之前进行预处理或在响应返回给客户端之前进行后处理。中间件是按照顺序依次执行的每个中间件都可以对请求和响应进行修改、补充或处理。在Django的settings.py配置文件中通过MIDDLEWARE设置来定义中间件的顺序。 【2】Django中间件的作用 认证和授权 中间件可以在请求到达视图之前进行用户认证和权限验证确保只有经过授权的用户才能访问敏感资源。请求和响应处理 中间件可以在请求到达视图之前对请求进行预处理 例如添加请求头信息、检查请求参数的合法性等操作。同时在视图函数返回响应给客户端之前中间件还可以对响应进行后处理 例如添加额外的响应头、包装响应数据等操作。异常处理 中间件还可以捕获视图函数中可能抛出的异常并做相应的处理 例如记录异常日志、返回自定义错误信息等。性能优化 通过中间件可以对请求进行性能监测、缓存处理、压缩响应等操作提升网站的整体性能。 【3】示例 class MyMiddleware:def __init__(self, get_response):self.get_response get_responsedef __call__(self, request):# 在视图函数调用之前的预处理逻辑# ...response self.get_response(request)# 在响应返回给客户端之前的后处理逻辑# ...return response 三、Django请求生命周期流程图 当客户端发送一个请求到Django应用程序时Django会按照一定的生命周期流程处理该请求。 客户端发出HTTP请求。请求被Web服务器接收并传递给Django应用程序。Django中的WSGI中间件开始处理请求并可进行一些预处理操作。中间件将请求传递给URL分发器(URL Dispatcher)。URL分发器根据URL模式将请求路由到相应的视图函数或处理器(View/Handler)。视图函数或处理器执行相应的业务逻辑可能会与数据库等外部资源交互。视图函数或处理器返回一个HTTP响应对象。响应对象经过中间件可以在此进行后处理操作。响应被发送给Web服务器。Web服务器将响应发送回客户端。 四、Django中间件是Django的门户 请求发来的时候需要先经过中间件才能到达真正的Django后端响应返回的时候最后也需要进过中间件返回发送出去 五、Django中间件详解 (1)  SecurityMiddleware django.middleware.security.SecurityMiddleware 安全中间件负责处理与网站安全相关的任务例如设置HTTP头部防止跨站脚本攻击(XSS)点击劫持等。它可以通过配置自定义安全策略来确保网站的安全性。 (2)  SessionMiddleware django.contrib.sessions.middleware.SessionMiddleware 会话中间件负责处理用户会话的创建之间存储和检索用户数据。它基于浏览器提供的Cookie或URL传递的会话ID进行会话跟踪并将会话数据存储在后端数据库或缓存中以实现用户状态的跨请求保持。 (3)  CommonMiddleware django.middleware.common.CommonMiddleware 通用中间件提供了一些常见而关键的HTTP请求处理功能例如根据请求的HTTP头信息设置语言、时区等。此外它还处理静态文件的serving包括收集静态文件为其生成URL并在开发模式下提供静态文件的serving。 (4)  CsrfViewMiddleware django.middleware.csrf.CsrfViewMiddleware CSRF(Cross-Site Request Forgery)中间件用于防止跨站请求伪造攻击。它在每个POST请求中验证一个CSRF标记确保请求是通过合法的表单提交得到的从而保护用户免受恶意站点的攻击。 (5)  AuthenticationMiddleware django.contrib.auth.middleware.AuthenticationMiddleware 认证中间件负责处理用户身份认证相关的任务例如将认证信息关联到请求对象上为每个请求提供一个user对象以便在请求处理过程中轻松地获取和使用用户身份信息。 (6)  MessageMiddleware django.contrib.messages.middleware.MessageMiddleware 消息中间件用于在请求处理过程中存储和传递临时的、一次性的用户消息。它允许在HTTP重定向之间跨请求传递消息例如成功或错误提示以改善用户体验。 (7)  XFrameOptionsMiddleware django.middleware.clickjacking.XFrameOptionsMiddleware 点击劫持中间件用于防止页面被嵌入到其他网站中从而提供一定的点击劫持保护。它通过设置X-Frame-Options HTTP头部来限制页面的显示方式从而防止恶意网页通过iframe等方式嵌入当前网页。 六、中间件必须要掌握的两个方法 (1)  process_request (1)执行顺序 请求来的时候需要经过每一个中间件的 process_request 方法结果的顺序是按照配置文件中注册的中间件从上往下的顺序执行的 (2)没有定义process_request 如果没有定义这个方法就跳过这个中间件 (3)定义了返回值 如果在自定义中间件中定义了返回值(三板斧)那么请求将不再继续执行而是直接原路返回(校验失败不允许访问) (4)总结 process_request 方法就是用来 做全局相关的所有限制功能 该方法在每个请求到达视图之前被调用可以对请求进行预处理。 例如进行身份验证、访问控制或请求日志记录等操作。它接收一个HttpRequest对象作为参数并且没有返回值 示例 class AuthenticationMiddleware:def process_request(self, request):# 在这里进行身份验证操作if not request.user.is_authenticated:# 如果用户未经身份验证则返回HttpResponse或重定向到登录页面 (2)  process_response 响应被返回的时候需要结束每一个中间件里面的 process_response 方法 该方法有两个额外的参数 requestresponse该方法必须返回 HttpResponse 对象 默认是response支持自定义顺序是按照配置文件中注册过的中间件从下往上依次经过 如果没有定义则跳过校验下一个 该方法在每个请求结束并且响应返回到客户端之前被调用。 可以在此处对响应进行处理例如添加额外的头信息、修改响应内容等。它接收一个HttpRequest对象和HttpResponse对象作为参数并且必须返回一个HttpResponse对象。 示例 class CustomResponseMiddleware:def process_response(self, request, response):# 在这里对响应进行处理response[X-Custom-Header] Custom Valuereturn response 七、自定义中间件 【1】process_request 路由层 from app01 import viewsurlpatterns [path(admin/, admin.site.urls),path(index/,views.index), ] 视图层  def index(request):print(这是视图函数index)return HttpResponse(index 的返回值) 配置文件  MIDDLEWARE [django.middleware.security.SecurityMiddleware,django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware,django.middleware.csrf.CsrfViewMiddleware,django.contrib.auth.middleware.AuthenticationMiddleware,django.contrib.messages.middleware.MessageMiddleware,django.middleware.clickjacking.XFrameOptionsMiddleware,# 注册自己的中间件(在应用下创建路径会有提示但是如果在项目下创建就没有提示需要自己根据路径书写)app01.mymiddle.my_middle.MyMiddle,# 谁先注册就先执行谁app01.mymiddle.my_middle.MyMiddle2, ] 自定义中间件  # 引入父类 from django.utils.deprecation import MiddlewareMixinclass MyMiddle(MiddlewareMixin):def process_request(self, request):print(这是第一个自定义中间件中的 process_request 方法)class MyMiddle2(MiddlewareMixin):def process_request(self, request):print(这是第二个自定义中间件中的 process_request 方法) 【2】process_response # 引入父类 from django.utils.deprecation import MiddlewareMixinclass MyMiddle(MiddlewareMixin):def process_request(self, request):print(这是第一个自定义中间件中的 process_request 方法)def process_response(self, request, response)::param request: :param response: 就是Django返回给浏览器的内容:return: print(这是第一个自定义中间件中的 process_response 方法)# 必须返回 responserreturn response 【3】小结 如果在第一个 process_request 方法就已经返回了 HttpResponse 对象那么响应被返回的时候是经过所有的中间件里面的 process_response 方法还是会发生其他 会直接走同级别的 process_response 方法 然后直接返回flask框架的中间件也有一个类似的方法 但是flask返回数据就必须经过所有中间件里面的 process_response 方法
http://www.lakalapos1.cn/news/17425/

相关文章:

  • 用域名和主机做网站的详细过程最新国际形势分析
  • 简述网站开发岗位及职务自己有货源怎么找客户
  • 百度网站是什么2021黑帽seo
  • 东莞网站建设网络推广wordpress百度seo插件
  • 江西网站开发联系方式重庆网站建设找重庆万为
  • 网站发帖做业务电脑自带的做网站叫什么
  • 企业网站的基本功能美术馆网站建设要求
  • 做平面设计都关注哪些网站wordpress浏览器上主题怎么改名
  • 做网站的合同范文怎么用vs2010做网站
  • 企业做pc网站需要什么资料网络服务与协议课件
  • 网站建设都需要哪些书做爰视频在线观看免费网站
  • 网站开发有专利吗网站建设企业推荐
  • 设计公司 网站恒基建设集团网站地址
  • 做网站开始要注意什么兰州建设一个网站多少钱
  • 新建文档怎么做网站wordpress 外链缩略图
  • 网站基建建设网站开发合同范本下载
  • 网站建设的一些专业术语珠海网站建设贵公司
  • 常州市建设项目审批网站毕业设计做网站还是系统好
  • 网站建设与管理实务电子商务网站建设教学计划
  • 电子商务网站实例设计素材网址
  • 肯德基网站是哪家公司做的网页设计自己做网页素材
  • 网站建设茂名绿色能源网站模板
  • 建筑网站知名度做网站的价钱
  • 会唐网做网站网站设计前沿网站
  • 定制建设网站网站右侧浮动代码
  • js建设网站网站开发会遇到哪些问题
  • 北京网站建设在线重庆网站制作一般需要多少钱
  • 肯尼亚网站域名网站开发与维护的工资
  • 做企业网站需要准备什么wordpress删除重复文章
  • 通道县城市建设投资有限公司网站黄石网站建设