【发布时间】:2017-11-14 21:52:11
【问题描述】:
我正在尝试在我的烧瓶应用程序中使用全局变量:
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
varGlobal = None
@app.route('/')
def home():
return render_template('home.html')
@app.route('/api/prepare', methods=['POST'])
def prepare():
if varGlobal is None:
varGlobal = "some_val"
return varGlobal
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8989, debug=True)
所以当我的页面加载并点击api/prepare 我得到:
UnboundLocalError: local variable 'varGlobal' referenced before assignment
我希望这个varGlobal 在我的应用程序运行期间一直存在。即使我重新加载页面。我该怎么做?
【问题讨论】:
-
在准备函数定义下添加一行“global varGlobal”
-
您分配给
prepare中的varGlobal。所以它不是一个全局变量。使用global varGlobal作为prepare的第一行。话虽如此,全局变量通常不是一个好主意。 -
注意,你几乎肯定不想这样做,因为它在生产中无法正常工作。
标签: python flask global-variables