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:防止恶意程序单击劫持。
  • 相关阅读:
    函数式宏定义与普通函数
    linux之sort用法
    HDU 4390 Number Sequence 容斥原理
    HDU 4407 Sum 容斥原理
    HDU 4059 The Boss on Mars 容斥原理
    UVA12653 Buses
    UVA 12651 Triangles
    UVA 10892
    HDU 4292 Food
    HDU 4288 Coder
  • 原文地址:https://www.cnblogs.com/xcbb/p/14663898.html
Copyright © 2011-2022 走看看