跳转到主要内容

Django全局上下文

项目描述

django-g

Django全局上下文,可以在应用的任何地方获取当前请求。

许多场景需要当前请求,但Django没有提供直接访问。它期望你的应用实现中间件来使用请求,但这很繁琐且不可重用。

其他包,如 django-threadlocals 使用threadlocals执行相同的功能,但它不适用于异步世界。

如何安装

$ pip install django-g

如何使用

django_g.middleware.RequestMiddleware 添加到设置中的 MIDDLEWARE。这是一个用于捕获当前请求并将其保存到全局上下文的轻量级中间件,顺序可能不重要,因为其他中间件已经可以访问请求。

MIDDLEWARE = [
    "django_g.middleware.RequestMiddleware",
    ...
]
from django_g import get_current_request


def your_func():
    request = get_current_request()
    # Use the request here. Be careful and handle when `request=None`.

提示 不建议在所有地方获取请求,因为这会将框架的具体实现与你的逻辑耦合起来,所以只在这个包中获取你无法以更好方式获取请求的地方。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

django-g-0.0.2.tar.gz (3.4 kB 查看哈希值)

上传于 源码

构建的发行版

django_g-0.0.2-py3-none-any.whl (4.0 kB 查看哈希值)

上传于 Python 3

由以下支持