Django中间件

中间件:
浏览器像django发起请求的时候,请求先经过url,可以在url之前挂一个中间件,可在到view中也可以挂一个中间件,当django给浏览器返回数据的时候,我们也可以在其过程中挂一个中间件,不光这三个地方可以挂中间件。

process_exception(self,request,ecxeption),这个是当视图函数中出错的时候,这个中间件会捕捉

当中间件从视图函数出来之后,中间件的执行顺序从下到上进行执行就是谁的中间件后注册,谁就先执行
Django中间件

中间件必须继承from django.utils.deprecation import MiddlewareMixin这个类

class Mymw(MiddlewareMixin):
   	def process_request(self,request):
       	print("Mymw process_request do --")
 	def process_view(self,request,callback,callback_args,callback_kwargs):
 	#callback:当前请求对应的视图函数
 	#callback_args:函数对应的位置传参
 	#callback_kwargs:对应的关键字传参
   		 print("Mymw process_views do--")

    #这个是从视图函数出来响应的时候出来返回的
    def process_response(self,request,response):
        print("Mymw process_response do--")
        return  response

settings中找MIDDLEWARE,添加’middleware.mymiddleware.Mymw’,这个就是这个中间件的路径

上一篇:CF946B Weird Subtraction Process 题解


下一篇:操作系统-作业调度算法设计