4.1 默认中间件
4.1.1中间件作用
概念:在django里是一个轻量级的,可介入django请求和响应
4.1.2中间件执行顺序
例如:你想修改view的返回的,HttpResponse对象,可以通过中间件实现
4.1.2中间件执行顺序
将HttpRequest对象传送,或者修改View返回
4.2自定义中间件代码
首先:1.在子组件下建立一个py文件
然后:在新创建的py文件下导报
最后:在主文件下的settings.py文件下的中间件模板下引用
如下:
子文件下创建:
在期中编写代码
from django.utils.deprecation import MiddlewareMixin
class MyMiddleware(MiddlewareMixin):
# 处理请求之前调用这个中间件
def process_request(self,request):
print(f'process_request=========={request}')
# 视图返回响应之后返回这个中间件
def process_response(self, request,response):
print(f'process_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', # 调用中间件
]