我有一个关于Flask的问题,以及它如何处理复杂数据,例如无法JSON序列化的对象。在Angular中,您可以创建服务并将数据存储在组件中,当更改HTML数据时,组件中的数据会自动更新,至少我可以引用它。
在Flask中,似乎必须创建访问数据的请求。
示例:假设我有一个要在Flask中访问的对象,例如“ CarListTemplate”。 一旦访问索引页面,CarListTemplate就会充满复杂的类“ CarDataObject”,这些类包含方法和属性,并且无法转换为JSON。 似乎Flask没有给我任何机会来重用CarListTemplate对象及其数据来创建动态列表。因此,每当我要动态创建某些内容时,都需要发出请求,再次创建“ CarListTemplate”,然后解析当前当前在route函数中的数据。
这是正确的还是我刚来不及了解烧瓶?
我已附上代码示例:
@app.route('/')
@app.route('/index', methods=['GET', 'POST'])
def index():
carlist = CarListTemplate()
# This object got a response from an API to get a list of CarDataObjects and
# is used by the HTML view from Flask to show the returned data
return render_template('index.html', carlist = carlist)
@app.route("/cars/<car_id>")
def getCarData(car_id):
carlist = CarListTemplate()
# I have to call this object again
#although I would love to store the complex data I already needed in "index"
#somewhere. A flask-"Session"-Object only allows me to store JSON data.
carData = carlist.getCarData(car_id)
return jsonify(carData)
我想要的是将“ carList”存储为一种全局变量。但是,当然没有人喜欢全局变量,我认为可能会有更好的方法在会话期间在后台某处存储信息,从而减少API调用。