zoukankan      html  css  js  c++  java
  • Django中的中间件

    中间件是一个用来处理Django的请求和响应的框架级别的钩子,它是一个轻量级、低级别的插件系统,用于在全局范围内改变Django的输入和输出。

    当用户在网站中进某个操作时,这个过程是用户向网站发送HTTP请求(Requesst);而网站会根据用户的操作返回相关的网页内容,这个过程称为响应处理(Response)。从请求到响应的过程中,当Django接收到用户请求时,首先经过中间件处理请求信息,执行相关的处理,然后将处理结果返回给用户。中间件的执行流程如下图所示:

     从上图可以清晰的看到,中间件的作用是处理用户请求信息和返回响应内容。开发者可以根据自己的开发需求自定义中间件,只要将自定义的中间件添加到配置属性MIDDLEWARE中即可激活。

    一般情况下,Django默认的中间件配置均可满足大部分的开发需求。我们在项目的 MIDDLEWARE 中添加 LocaleMiddleware 中间件,使得Django内置的功能支持中文显示,代码如下:

     1 MIDDLEWARE = [
     2     'django.middleware.security.SecurityMiddleware',
     3     'django.contrib.sessions.middleware.SessionMiddleware',
     4      # 添加中间件LocaleMiddleware
     5     'django.middleware.locale.LocaleMiddleware',
     6     'django.middleware.common.CommonMiddleware',
     7     'django.middleware.csrf.CsrfViewMiddleware',
     8     'django.contrib.auth.middleware.AuthenticationMiddleware',
     9     'django.contrib.messages.middleware.MessageMiddleware',
    10     'django.middleware.clickjacking.XFrameOptionsMiddleware',
    11 ]

    配置属性 MIDDLEWARE 的数据格式为列表类型,每个中间件的设置顺序是固定的,如果随意变更中间件,就很容易导致程序异常。每个中间件的说明如下:

    • SecurityMiddleware:内置的安全机制,保护用户与网站的通信安全。
    • SessionMiddleware:会话Session功能。
    • LocaleMiddleware:国际化和本地化功能。
    • CommonMiddleware:处理请求信息,规范化请求内容。
    • CsrfViewMiddleware:开启CSRF防护功能。
    • AuthenticationMiddleware:开启内置的用户认证系统。
    • MessageMiddleware:开启内置的信息提示功能。
    • XFrameOptionsMiddleware:防止恶意程序单击劫持。
  • 相关阅读:
    21-MySQL-Ubuntu-快速回到SQL语句的行首和行末
    2- SQL语句的强化
    1-数据准备
    20-MySQL-Ubuntu-数据表的查询-子查询(九)
    19-MySQL-Ubuntu-数据表的查询-自关联(八)
    18-MySQL-Ubuntu-数据表的查询-连接(七)
    17-MySQL-Ubuntu-数据表的查询-分页(六)
    16-MySQL-Ubuntu-数据表的查询-分组与聚合(五)
    15-MySQL-Ubuntu-数据表的查询-聚合函数(四)
    14-MySQL-Ubuntu-数据表的查询-范围查询(三)
  • 原文地址:https://www.cnblogs.com/xcbb/p/14663898.html
Copyright © 2011-2022 走看看