Flask Server的面向对象的Python?
我正在使用Flask将一些数据处理代码公开为Web服务。我想要一些Flask函数可以访问的类变量。
让我向你介绍我遇到的问题:
from flask import Flaskapp = 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
。这里没有魔术,而且Flask不知道应该初始化一个MyServer对象。如何将MyServer的实例提供给app.run()
命令?
我可以认输,然后globalData
放入数据库。但是,还有其他方法吗?
回答:
你可以MyServer在端点范围之外创建一个实例,并访问其属性。这为我工作:
class MyServer: def __init__(self):
self.globalData = "hello"
from flask import Flask
app = Flask(__name__)
my_server = MyServer()
@app.route("/getSomeData")
def getSomeData():
return my_server.globalData
if __name__ == "__main__":
app.run(host="0.0.0.0")
以上是 Flask Server的面向对象的Python? 的全部内容, 来源链接: utcz.com/qa/422491.html