【问题标题】:Using a shared variable between routes and main in flask在烧瓶中的路线和主要之间使用共享变量
【发布时间】:2020-04-08 01:12:33
【问题描述】:

我有一个 python 烧瓶服务器。在我的脚本的main 中,我从用户那里得到一个变量,它定义了我的服务器的模式。我想在main 中设置这个变量(只是write)并在我的控制器中使用它(只是read)。我目前正在使用os.environ,但我正在寻找更优雅的使用方式。

我用谷歌搜索并尝试了以下选项:

  1. flask.g:每次请求都会重置;所以,当它被设置在其他地方时,我不能在控制器中使用它。
  2. flask.session:在请求上下文之外无法访问,我无法在 main 中设置它。
  3. Flask-Session:像第二项一样,在main中设置不了。

【问题讨论】:

  • 也许你应该把它保存在文件或数据库中。
  • 是的@furas,你是对的。但如果可能的话,我正在寻找一种通过flask 方法和对象来实现它的方法。
  • 对我来说flask/django/PHP 方法是将数据保存在数据库中。如果main 无权访问flask,则数据库或文件可以作为解决方案。但现在我想知道如果你设置app.variable = value 或烧瓶如何使用app.config
  • 我会尝试你的建议@furas 并让你知道结果。谢谢。
  • 亲爱的@furas,app.config["mode"]app.mode 都工作了。你能把它添加为答案吗?

标签: python flask shared-variable


【解决方案1】:

main 中,您使用app.run(),所以appmain 中可用。它也应该在所有功能中始终可用,因此您可以尝试使用

app.variable = value

但是烧瓶也有

app.config

保留任何设置。见文档:Configuration Handling

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    相关资源
    最近更新 更多