Flask Server的面向对象的Python?

我正在使用Flask将一些数据处理代码公开为Web服务。我想要一些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。这里没有魔术,而且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

回到顶部