gpt4 book ai didi

python - 无法在 View 函数中的 2 个 flask 请求之间共享变量

转载 作者:行者123 更新时间:2023-11-28 21:38:17 25 4
gpt4 key购买 nike

我想要的是在 2 个 flask 请求之间共享一个变量!该变量是一个 Pandas 数据框。

我已阅读 this answer我需要使用 flask global 中的 g !基本上,我有 2 个这样的 View 功能:

from flask import g
@home.route('/save', methods=['GET'])
def save_ressource():
an_object = {'key': 'value'}
setattr(g, 'an_object', an_object)
return 'sucees'
@home.route('/read', methods=['GET'])
def read_ressource():
an_object = getattr(g, 'an_object', None)
if an_object:
return 'sucess'
else:
return 'failure'

但这总是返回失败,即:无

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

Starting with Flask 0.10 this is stored on the application context andno longer on the request context which means it becomes available ifonly the application context is bound and not yet a request.

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

如文档中所述,如何绑定(bind)应用程序上下文?

我应该改用 session 吗?

任何帮助将不胜感激

最佳答案

链接的答案似乎完全错误。 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'

关于python - 无法在 View 函数中的 2 个 flask 请求之间共享变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48458322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com