在Flask中,可以使用全局变量或者上下文变量来实现在两个API定义之间共享变量。
from flask import Flask
app = Flask(__name__)
shared_variable = None
@app.route('/api1')
def api1():
global shared_variable
shared_variable = "Hello from API 1"
return "API 1"
@app.route('/api2')
def api2():
global shared_variable
return f"API 2: {shared_variable}"
if __name__ == '__main__':
app.run()
在上面的例子中,shared_variable
是一个全局变量,在 api1
中被赋值为 "Hello from API 1",然后在 api2
中被使用。
g
对象来存储和访问共享变量。例如:from flask import Flask, g
app = Flask(__name__)
@app.route('/api1')
def api1():
g.shared_variable = "Hello from API 1"
return "API 1"
@app.route('/api2')
def api2():
return f"API 2: {g.shared_variable}"
if __name__ == '__main__':
app.run()
在上面的例子中,g.shared_variable
是一个上下文变量,可以在 api1
中赋值为 "Hello from API 1",然后在 api2
中被访问。
无论是使用全局变量还是上下文变量,都需要注意并发访问的线程安全性和变量的作用域。如果需要更复杂的共享数据结构,可以考虑使用数据库或者缓存来存储和获取数据。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云