什么是Django中间件
中间件(Middleware)
是一个用来处理Django的请求(Request)
和响应(Response)
的框架级别的钩子,它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。
当用户在网站中进行某个操作时,这个过程是用户向网站发送HTTP请求(Request);而网站会根据用户的操作发返回相关的网页内容,这个过程称为响应处理(Response)
。从请求到响应的过程中,当Django接收到用户请求时,首先经过中间件处理请求信息,执行相关的处理,然后将处理结果返回给用户。
从上图中可清晰的看到,中间件的作用是处理用户请求信息和返回响应内容。开发者可以根据自己的开发需求自定义中间件,只要将自定义的中间件添加到配置属性
MIDDLEWARE
中即可激活,一般情况下,Django默认的中间件配置均可满足大部分开发需求
中间件的定义过程
中间件在settings.py
的配置属性MIDDLEWARE
中进行配置,在创建项目是,Django已默认配置了7个中间件,每个中间件的说明如下:
- SecurityMiddleware:内置的安全机制,保护用户与网站的通信安全
- SessionMiddleware:会话
Session
功能 - CommonMiddleware:处理请求信息,规范化请求内容
- CsrfViewMiddleware:开启CSRF防护功能
- AuthenticationMiddleware:开启内置的用户认证系统
- MessageMiddleware:开启内置的信息提示功能
- XFameOptionsMiddleware:防止恶意程序电脑及劫持
为