Я использую Flask, чтобы выставить некоторый хрустящий код в качестве веб-сервиса. Я хотел бы иметь некоторые переменные класса, к которым могут обращаться мои функции Flask.
Позвольте мне провести вас туда, где я застрял:
from flask import Flask
app = Flask(__name__)
class MyServer:
def __init__(self):
globalData = json.load(filename)
@app.route('/getSomeData')
def getSomeData():
return random.choice(globalData) #select some random data to return
if __name__ == "__main__":
app.run(host='0.0.0.0')
Когда я запускаю getSomeData()
вне Flask, он работает нормально. Но, когда я запускаю это с помощью Flask, я получаю 500 internal server error
. Здесь нет волшебства, и Флакс не знает, что он должен инициализировать объект MyServer
. Как я могу передать экземпляр MyServer команде app.run()
?
Я мог бы признать поражение и поместить globalData
в базу данных. Но есть ли другой путь?