- 在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?件中配置?定義中間件