Django中间件(Middleware)是一种拦截器,它可以拦截每一个请求和响应,在请求和响应之间添加额外的处理逻辑。它可以实现认证、授权、缓存、限流、日志记录等功能。
Django中间件的配置方法如下:
- 在settings.py文件中配置中间件
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', ]
# 自定义中间件 class MyMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): response = self.get_response(request) # 自定义处理逻辑 # 如:日志记录 return response
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', 'myapp.middleware.MyMiddleware', ]
Django中间件可以拦截每一个请求和响应,在请求和响应之间添加额外的处理逻辑,实现认证、授权、缓存、限流、日志记录等功能,配置方法如上所示,在settings.py文件中配置中间件,开发自定义中间件,将自定义中间件加入到settings.py文件中即可。