在django

时间:2017-08-21 17:02:11

标签: python django python-2.7

我在django中有一个简单的视图

class SimpleView(View):   
    def get(self, *args, **kwargs):   
        c = C()
        c.m()

class C:
    def m(self):
        x = # get from an external server if not set

我想在x

的不同请求中分享SimpleView

例如,让我们考虑以下情况:

  1. 有人#1向get提出SimpleView请求。 x未设置,因此将从外部服务器获取。

  2. 有人#2向get提出SimpleView次请求。 x已设置,因此不会从外部服务器获取。

  3. 我知道那段代码没有这样做。我知道什么是全局变量。但是,我不知道如何在不同请求之间共享数据。我不想使用数据库来存储它(因为优化) - 值x不必是持久的。

    请注意,如果共享内容的方法是线程安全的(这不是必需的,我处理它)将会很棒。

    怎么做?

    (django 1.6)

1 个答案:

答案 0 :(得分:1)

由于您不需要永久存储数据,因此您应该使用session store

通常会话引擎配置为使用数据库;可以使用其他后端,但很少有任何理由这样做。

(另请注意,您应该升级您的Django版本; 1.6是旧的,不受支持的,可能不安全。)