django中间件提供请求和g对象,所有这些都可以在任何地方访问,线程隔离,就像flask中使用的那样。
django-request-context的Python项目详细描述
django请求上下文
提供请求和g对象的django中间件。 所有这些都是随处可及的,而且螺纹隔离,就像在烧瓶里一样
安装
使用pip安装和更新:
pip install django-request-context
用法
- 将RequestContextMiddleware添加到settings.py中的中间件
import django_request_context
MIDDLEWARE = [
...
'django_request_context.RequestContextMiddleware',
...
]
- 在请求的整个生命周期中,您可以在项目中的任何位置获取请求和g对象。 只需导入:
from django_request_context import request, g
你为什么需要这个?
当django项目足够大并且函数调用堆栈很深时。 如果您想在调用堆栈的底部获取请求对象, 您需要将请求作为参数逐层传输,这可以帮助您直接获取请求。 从django请求上下文导入的请求是readonly对象, 如果您想传达一些消息,可以使用g对象,这是一个可写的对象。 请求和g对象的行为与烧瓶中的行为完全相同