【Django】Django中间件
Django中间件是一个轻量级的插件系统,它的功能是修改Django的输入或输出。也就是说,在视图被执行之前,以及在其之后,Django会根据中间件的定义,执行一些预定义的功能。
Django中间件的定义是一个中间件类,包含以下四个方法:
__init__
: 初始化方法。process_request
: 请求前处理。process_view
: 视图前处理。process_response
: 响应后处理。process_exception
: 异常处理。
以下是一个简单的示例,创建一个自定义的中间件,用于记录每个请求的执行时间:
# middlewares.py
class RequestTimingMiddleware:
def __init__(self, get_response):
self.get_response = get_response
# One-time configuration and initialization.
def __call__(self, request):
# Code to be executed for each request before
# the view (and later also before each response).
start_time = time.time()
response = self.get_response(request)
response_time = time.time() - start_time
print(f"It took {response_time} seconds to complete the request.")
# Code to be executed for each request/response after
# the view is called.
return response
要使用这个中间件,你需要在Django的设置文件中(settings.py
)添加这个中间件的路径到 MIDDLEWARE
列表中:
# settings.py
MIDDLEWARE = [
# ...
'path.to.middlewares.RequestTimingMiddleware',
# ...
]
这样,每当有请求进入Django时,它将通过这个中间件,并打印出请求的执行时间。
评论已关闭