本文主要是介绍【Django】中间件实现钩子函数预处理和后处理,局部装饰视图函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 在app文件夹里新建middleware.py
- 继承
MiddlewareMixin
, 编写中间件类,重写process_request
、process_response
钩子函数
from django.http import HttpRequest, HttpResponse
from django.utils.decorators import decorator_from_middleware
from django.utils.deprecation import MiddlewareMixinclass MyMiddleware(MiddlewareMixin):def __init__(self, get_response=None):super().__init__(get_response)def process_request(self, request: HttpRequest) -> None:"""视图函数前 钩子函数"""...passdef process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse:"""视图函数后 钩子函数"""...return response# 中间件类包装成装饰器
my_middleware = decorator_from_middleware(MyMiddleware)
- 使用
@MyMiddleware
装饰视图函数
如果要全局使用中间件
需要在settings⽂件中配置⾃定义中间件
这篇关于【Django】中间件实现钩子函数预处理和后处理,局部装饰视图函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!