【问题标题】:How to save a global variable in flask?如何在烧瓶中保存全局变量?
【发布时间】:2016-11-29 15:50:48
【问题描述】:

我想在flask中保存一个全局变量,在阅读了一些文档后我知道'flask.g'可以做我想做的事情,但是在测试过程中我发现变量'g'不能像这样保存session,如果我在同一个应用程序中更改页面,变量'g'错过了它的属性,在阅读了一些文档后,我发现在以前版本的flask中,变量'g'只是在请求上下文中,但是@987654321 @

所以我想知道为什么我的应用程序的所有页面都不能保存变量'g',如果我想保存一个可以在所有页面中使用的全局变量,我应该怎么做呢?

谢谢!

【问题讨论】:

  • 如果你的数据是持久的,为什么不使用会话?
  • 它是一个 selenium 变量,不仅仅是一些数据。

标签: python flask


【解决方案1】:

您可以将这些类型的变量以类变量的形式保存在单独的 config.py 中,并通过简单地导入该类变量来访问任何页面中的该变量

app.py

from config import GetConfig

print GetConfig.var

config.py

class GetConfig:
    var=10
    def __init__(self):
        pass

【讨论】:

  • 是的,最后我尝试了这种方式,但我仍然想知道为什么flask.g不能保存为全局变量。
  • 好的,只需在 init.py 中添加全局变量名并在任何文件中访问该变量名
【解决方案2】:

您可以使用的另一种方法是浏览器缓存,您应该让您的网络服务器尽可能无状态,这意味着对服务器的每个请求都应该完全独立,因此不共享任何状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    相关资源
    最近更新 更多