django 笔记14 中间件
用户请求->中间件->urls->views->返回字符串->中间件->用户浏览器 settings MIDDLEWARE里面都是中间件 有的地方叫管道 请求来的时候都需要经过中间件 中间件 对所有的请求做统一操作 黑名单操作 ip段 基本要懂的:process_view process_request pocess_response MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'Middle.m1.Row1', 'Middle.m1.Row2', #路径 在django同级项目下的Middle目录下的m1.py中的Row1类 m1.py里写 from django.utils.deprecation import MiddlewareMixin class Row1(MiddlewareMixin): def process_request(self,request): print('小白') def process_view(self, request, view_func, view_func_args,view_func_kwargs): pass //views文件的映射关系 def process_exception(self, request,exception): print(exception) #views异常报错处理 ex if isinstance(exception, ValueError): return HttpResponse("出现异常了") def process_template_response(self, request,response): #如果View中的函数返回的对象中,具有render方法 基本不用 print("!!!!!!!!!!!") return response def process_response(self,request,response): print('收到了2') return response class Row2(MiddlewareMixin): def process_request(self, request): print('小黑') def process_response(self,request,response): print('收到了1') return response
原谅我这一生不羁放纵爱自由