ich eine globale Variable in meinem Kolben App zu nutzen versuchen:Flask - Globale Variable wird persistierende nicht auf Seite neu lädt
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)
Also, wenn meine Seite geladen wird und ich api/prepare
traf ich:
UnboundLocalError: local variable 'varGlobal' referenced before assignment
Ich möchte das varGlobal
beibehalten, solange meine App ausgeführt wird. Auch wenn ich die Seite neu lade. Wie kann ich das machen?
fügen Sie eine Zeile "global varGlobal" direkt unter der Vorbereitungsfunktionsdefinition hinzu – NendoTaka
Sie ordnen die 'varGlobal' in' prepare' zu. Also ist es ** nicht ** eine globale Variable. Verwenden Sie 'global varGlobal' als erste Zeile in' prepare'. Davon abgesehen sind globale Variablen normalerweise ** nicht ** eine gute Idee. –
Beachten Sie, dass Sie das wahrscheinlich sowieso nicht machen wollen, da es in der Produktion nicht richtig funktioniert. –