简介:
中间件是一个闭包,而且返回一个闭包。中间件为过滤进入应用的HTTP请求提供了一套便利的机制,可以分为前置中间件和后置中间件。常用于验证用户是否经过认证,添加响应头(跨域),记录请求日志等。
中间件的作用:
用于全局修改Django的输入或输出。
中间件常见用途:
1、用户登录认证
2、缓存
3、日志记录
4、异常
创建自定义中间件:
#创建app/middleware.py并编辑from django.http import JsonResponseclass CustomMiddleware:
def __init__(self, get_response):
print("程序启动时执行, 只执行一次")
self.get_response = get_response def __call__(self, request):
print("中间件开始")
response = self.get_response(request)
print("中间件结束") return response def process_view(self, request, view_func, view_args, view_kwargs):
print("请求实际函数前执行") def process_exception(self, request, exception):
print("程序异常时执行") return JsonResponse({"msg": exception.args[0], "code": -1})
2、在setting.py中添加配置信息
#我的项目名称叫app,所以路径是app.middleware
MIDDLEWARE = [
... 'app.middleware.CustomMiddleware']