视图之间共享的变量,并在AppConfig中初始化

时间:2015-03-06 21:24:53

标签: python django

我想要一个变量,我将其初始化为应用程序启动,并从视图中获取访问权限:

# my_app/my_config.py

class WebConfig(AppConfig):
    name = '....'
    verbose_name = '....'

    def ready(self):
        print('loading...')
        warnings.filterwarnings("ignore")
        my_var = {}


  # my_app/views.py 

  def index(request):
    # my_var isn't accessible 

我无法将my_var存储到会话中,因为会话在WebConfig上不可用。

那我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

my_var的模块级别定义my_config,然后将其导入views

<强>程序my_app / my_config.py

my_var = None

class WebConfig(AppConfig):
    ...
    def ready(self):
        global my_var
        my_var = {}

<强>程序my_app / views.py

from my_app.my_config import my_var

def index(request):
    print my_var

请注意global关键字。