Flask服务和复杂数据缓存

时间:2019-03-23 13:16:26

标签: python flask

我有一个关于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调用。

0 个答案:

没有答案