Django的中间件简单介绍

1、中间件的作用:类似于一个过滤器,拦截请求或者响应,插入一些公用的业务逻辑
2、中间件的定义:
1、在项目下面pro_view的package中编写一个模块mymiddleware,模块中编写一个SimpeMiddleware类继承MiddlewareMixin
from django.utils.deprecation import MiddlewareMixin
class SimpleMiddleware(MiddlewareMixin):

def process_request(self, request):
print("这是process_request处理。。。。")

def process_view(self, request, view_func, view_args, view_kwargs):
print("这是process_view处理%s,%s,%s" % (view_func, view_args, view_kwargs))


def process_template_response(self, request, response):
print("这是响应模板处理。。。。%s" % (response.content))
return response

def process_response(self, request, response):
print("这是响应处理。。。。%s" % (response.content))
return response

def process_exception(self, request, exception):
print("这是错误处理。。。%s" % exception)

其中process_response一定要返回响应,process_template_response处理模板请求
这几个方法执行的顺序:
1、process_request() 处理请求
2、process_view() 找到对应的视图函数
3、执行视图函数
4、process_exception() 如果视图出现错误,则调用此方法
5、如果响应的是TemplateResponse而且没有错误,那么就会调用process_template_response()方法,也要返回
5、process_response()处理响应并返回


2、在settings.py中进行配置
'pro_view.mymiddleware.SimpleMiddleware',

猜你喜欢

转载自www.cnblogs.com/Minlwen/p/10488698.html