前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django的中间件

Django的中间件

作者头像
Wyc
发布2020-09-02 09:06:20
6080
发布2020-09-02 09:06:20
举报
文章被收录于专栏:Python研发
代码语言:javascript
复制
 
代码语言:javascript
复制
django.middleware.security.SecurityMiddleware
安全中间件, 为请求/响应周期提供了一些安全性增强。

django.contrib.sessions.middleware.SessionMiddleware
回话中间件,可以基于每个站点访问者存储和检索任意数据,它在服务器端存储数据。

django.middleware.common.CommonMiddleware
通用中间件
会处理一些URL, 比如;baidu.com会自动处理成www.baidu.com, 比如 /wyc/blog 会自动处理成 /wyc/blog/

django.middleware.csrf.CsrfViewMiddleware
跨站请求伪造,通过向POST表单添加隐藏的表单字段并检查请求的正确值来增强对跨站请求伪造的保护。

django.contrib.auth.middleware.AuthenticationMiddleware
验证中间件,将user代表当前登录用户的属性添加到每个传HttpResponse对象。

django.contrib.messages.middleware.MessageMiddleware
消息中间件,启用于cookie和会话的消息支持

django.middleware.clickjacking.XFrameOptionsMiddleware
点击劫持保护
当恶意站点诱使用户单击他们已加载到隐藏框架或iframe中的另一个站点的隐藏元素时,会发生这种类型的攻击

django.middleware.cache.UpdateCacheMiddleware
django.middleware.cache.FetchFromCacheMiddleware
开启全站缓存范围缓存,如果开启了这些缓存,任何一个由Django提供的页面将会被缓存,缓存时长可以在CACHE_MIDDLEWARE_SECONDS中配置定义。

整体运行流程:

  1、用户通过浏览器请求一个页面   2、请求到达Request Midddlwraes中间件对request做一些预处理或直接response请求

  3、 URLConf通过urls.py文件和请求的URL找到相应的View

  4、 View Middleware被访问它同样可以对request做一些处理或者直接返回response

  5、 调用Views中的函数

  6、views中的方法可以选择性的通过manager完成的

  7、所有的Model -> to -> DB的交互都是通过Models访问底层的数据

  8、如果需要,Views可以使用一个特殊的Context

  9、Context被传给Template用来生成页面

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档