Django中间件即request请求前或过程中执行的代码,中间件通俗说就是python的一个类,Django自身自带了了很多自带中间件,如下未Django默认自带的中间件,如session以及csrf安全处理模块等:
# django项目中setting中的一个配置文件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
那么如何添加自定义中间件呢
1、在项目跟目录建一个目录 middleware,意为中间件目录,接着在middleware中创建一个my_middleware.py文件(文件名可随意)
# 这个类需要继承django的中间件方法,因此需要导入如下
from django.utils.deprecation import MiddlewareMixin
from django.http import HttpResponse
class My_middleware(MiddlewareMixi