无法在视图函数中共享2个烧录请求之间的变量

时间:2018-01-26 09:04:16

标签: python flask global

我想要的是在2个烧瓶请求之间共享一个变量! 该变量是一个大型的pandas数据帧。

我已在this answer中读到我需要使用flask global中的g! 基本上,我有2个视图功能如下:

{{1}}

但这总是会失败,即:无

当我在这里阅读文档时,它说:

  

从Flask 0.10开始,它存储在应用程序上下文和   不再在请求上下文中,这意味着它变得可用   只有应用程序上下文被绑定而且还没有请求。

我的问题是如何解决这个问题?

正如文档中所述,我如何绑定应用程序上下文?

我应该使用会话吗?

任何帮助都会受到赞赏

1 个答案:

答案 0 :(得分:4)

链接的答案似乎完全错误。 g对象用于将全局数据从一个函数存储到同一请求中的另一个 ,并且根本不用于在请求之间共享数据。

为此你需要sessions

from flask import Flask, session

@home.route('/save', methods=['GET'])
def save_ressource():
    an_object = {'key': 'value'}
    session['an_object'] = an_object
    return 'sucees'

@home.route('/read', methods=['GET'])
def read_ressource():
    an_object = session.get('an_object')
    if an_object:
        return 'sucess'
    else:
        return 'failure'