目录:
什么是django中间件
中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。
django中间件就类似于是django的保安,消息来的时候和响应走的时候 都必须进过中间件。
中间件可以做全局的访问频率校验 、身份校验 等。只要是涉及到全局的 都可以考虑使用中间件来做。
django默认有七个中间件,也支持用户自定义中间件,自定义中间件 django暴露给用户五个可以自定义的方法
五个方法:
掌握
process_request:请求来的时候 会依次(从上往下的顺序如上图)执行每一个中间件里面的process_request方法(如果没有定义那么直接通过)
process_response:响应走的时候 会依次(从下往上的顺序)执行每一个中间件里面的process_response方法
了解
process_views
process_templates_response
process_exceptions
打开Django项目的Settings.py文件,看到下图的MIDDLEWARE配置项
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware'