一、中间件
# 可以对请求、响应...等功能完成过滤 # 自定义中间件 # 1. 在某一应用下(eg:app),建立某一py文件(eg: mymiddleware.py) # 2. 在文件中自定义类,继承django.utils.deprecation下的MiddlewareMixin类 # 3. 实现要过滤的方法,完成具体的过滤条件 from django.utils.deprecation import MiddlewareMixin class MyMiddleware1(MiddlewareMixin): def process_request(self, request): ''' 请求处理 :param request:请求对象 :return: 一般没有返回值,但可以返回HttpResponse对象 ''' def process_view(self, request, callback, callback_args, callback_kwargs): ''' 视图函数预处理 :param request: 请求对象 :param callback: 路由返回的视图函数地址 :param callback_args: 视图函数的位置参数(元组) :param callback_kwargs: 视图函数的关键字参数(字典) :return: 一般没有返回值,但可以返回HttpResponse对象 ''' def process_exception(self, request, exception): ''' 视图函数异常处理 :param request: 请求对象 :param exception: 视图函数的异常对象 :return: 一般没有返回值,但可以返回HttpResponse对象 ''' def process_template_response(self, request, response): ''' 视图函数返回值为拥有render方法的对象,该方法会执行 :param request: 请求对象 :param response: 响应对象 :return: 一定要返回response ''' return response def process_response(self, request, response): ''' 响应处理 :param request: 请求对象 :param response: 响应对象 :return: 一定要返回response ''' return response class MyMiddleware2(MiddlewareMixin): def process_request(self, request): pass