をリロードページに永続化されていない私は私のフラスコアプリ内でグローバル変数を使用しようとしています:をフラスコ - グローバル変数は
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
は、私のアプリが動作している間は持続します。私がページをリロードしたとしても。これどうやってするの?
prepare関数定義のすぐ下に "global varGlobal"という行を追加します – NendoTaka
'prepare'の' varGlobal'に割り当てます。ですから**グローバル変数ではありません**。 'prepare'の最初の行に' global varGlobal'を使います。言われているように、グローバル変数は通常、**良いアイデアではありません。 –
プロダクションでは正常に動作しないため、これをやりたいとは思わないことに注意してください。 –