嘿,这是一个更普遍的问题。
第一部分只是确切地了解全局变量的工作方式。如果多个用户同时访问服务器,是否将在所有用户之间共享全局变量?还是每个用户都有自己的全局变量实例?
我知道会话,这可能是解决我的问题的最佳答案,但是,我目前正在使用Django FormWizard,它似乎无法访问request
,因此我无法使用会议。我不确定如何访问request
,因此,如果有人知道该怎么做,我将非常感谢您的帮助。
谢谢!
答案 0 :(得分:1)
取决于您部署应用程序的方式。例如,默认情况下,Gunicorn将使用其自己的环境加载每个工作进程,但是使用--preload
它将仅在该前叉工作进程之后加载应用程序。共享全局变量的第二种方式,但有一个局限性:所有共享变量都将在写时复制,因此,如果您尝试在工作进程中修改全局变量,则该变量将被复制,并且您将修改实例的副本。
回答第二个问题。如果未直接传递到函数中,则无法从Django中的任何位置获取请求实例。请注意,修改全局变量通常不是线程安全的。