7:django 中间件

阳光穿透心脏的1/2处 2023-06-04 05:50 75阅读 0赞

中间件

中间件是一个连接django请求/相应处理的框架,是一个轻量级的低层次的全局影响django输入输出的系统插件。

每一个中间件组件负责一些特定的功能,这里我们我们只看一下如何激活使用系统自带的中间件,至于如何写自己的中间件,目前自己的水平还没到,主要觉得还用不着,等用着的时候在写吧

激活中间件

在django中激活中间件很简单,只需要在django的配置文件中把自己想使用的中间件的名字加入到 MIDDLEWARE_CLASSES这个列表里面就ok了

  1. MIDDLEWARE_CLASSES = (
  2. 'django.middleware.common.CommonMiddleware',
  3. 'django.contrib.sessions.middleware.SessionMiddleware',
  4. 'django.middleware.csrf.CsrfViewMiddleware',
  5. 'django.contrib.auth.middleware.AuthenticationMiddleware',
  6. 'django.contrib.messages.middleware.MessageMiddleware',
  7. )

值得注意的是,django在处理请求的时候,是顺序检索中间件列表的;django在处理相应的时候,是逆序检索中间件列表的;可以按照下图来理解

每一个请求响应都是从左到右的,所以是现顺序再逆序的

281426505449696.png

内建的中间件(django自带的中间件)

  • Cache middleware,正如其名,关于缓存的中间件

    class UpdateCacheMiddleware

    class FetchFromCacheMiddleware

  • class CommonMiddleware

  • View metadata middleware 查看元数据中间件,

    class XViewMiddleware

  • GZip middleware gzip压缩中间件,为那些接受gzip压缩协议的浏览器压缩网页内容

    class GZipMiddleware

  • Conditional GET middleware 有条件的get中间件,处理一些有特殊要求的get请求

    class ConditionalGetMiddleware

  • Reverse proxy middleware 反向代理中间件

    class SetRemoteAddrFromForwardedFor

  • Locale middleware 语言环境中间件

    class LocaleMiddleware

  • Message middleware 消息中间件

    class MessageMiddleware

  • Session middleware 会话中间件

    class SessionMiddleware

  • Authentication middleware 认证中间件

    class AuthenticationMiddleware

  • CSRF protection middleware csrf保护中间件

    class CsrfViewMiddleware

  • Transaction middleware 交易中间件

    class TransactionMiddleware

  • X-Frame-Options middleware

    class XFrameOptionsMiddleware

p

转载于:https://www.cnblogs.com/qwj-sysu/p/4189991.html

发表评论

表情:
评论列表 (有 0 条评论,75人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Django中间技术

    怎么理解中间件呢,其实如果你使用过java和数据库你就知道,中间件技术是两个模块中间的桥梁,就好比两块大陆之间的一座桥梁 > 如果需要详细了解中间件技术可以查看此文档

    相关 django中间

    中间件函数是django框架给我们预留的函数接口,让我们可以干预请求和应答的过程。 ![1682918-20190610110717958-1367766905.png][]