Java中的“UserContext”等效于Django

时间:2013-10-25 10:31:52

标签: django django-rest-framework

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

Django中有类似的东西吗?

1 个答案:

答案 0 :(得分:1)

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

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