0

我正在使用 Django Rest Framework 编写 REST 服务。我想将语言代码、AppId 等一些值保留在全局变量(非静态)中,并在我想要的任何地方访问它。这可能会因每个请求而改变。在 Java 中,我们将其称为“UserContext”。这样我就可以解析我的标题并将值分配给它并在数据或视图层中访问它(例如)。这将帮助我避免在每个方法中传递值。同时它必须维护每个请求的生命周期。

Django中有类似的东西吗?

4

1 回答 1

1

简单的答案是 django-tls ( https://github.com/aino/django-tls ) 可以使请求在您导入它的任何地方都可用,然后您可以根据请求、request.user 或类似的东西设置属性.

也就是说,在 99% 的情况下,这是一个坏主意,例如,如果您只需要避免将值传递给函数,那么这是极不明智的做法。你只会让你的代码不可读。如果您有很多变量要传递,也许其中一些需要合并到某个类中?

于 2013-10-25T11:44:30.130 回答