Python 向Flask中的模板获取大型查询结果的最佳方法

Python 向Flask中的模板获取大型查询结果的最佳方法,python,sql,json,flask,chunking,Python,Sql,Json,Flask,Chunking,我试图弄清楚如何将一个大型查询传递给一个模板,我已将其转换为一个JSON字符串,该字符串由大约500000多个条目的列表构成。我目前的做法适用于较小的对象: return render_template('/dataprocessing.html', data=json.dumps(result)) 其中data=json.dumps(result)是我将大json字符串传递给模板的方式。但是,客户机中存储的字符串的大小大大降低了我的应用程序的速度。我也知道还有另一种方法可以通过cookies

我试图弄清楚如何将一个大型查询传递给一个模板,我已将其转换为一个JSON字符串,该字符串由大约500000多个条目的列表构成。我目前的做法适用于较小的对象:

return render_template('/dataprocessing.html', data=json.dumps(result))
其中data=json.dumps(result)是我将大json字符串传递给模板的方式。但是,客户机中存储的字符串的大小大大降低了我的应用程序的速度。我也知道还有另一种方法可以通过cookies传递信息,但这种方法比这种方法更糟糕,而且对较大的尺寸不起作用

我的应用程序所做的是通过SQL查询呈现数据库中的大量数据。我希望通过逐行遍历此数据并创建表示这些行的DOM元素,在模板中可视化此数据

我已经搜索了几个小时,试图实施解决方案,但收效甚微,所以如果有人能给我指出正确的方向,我将不胜感激


我想到的一个解决方案是将数据分块,然后一次将一个块从视图发送到模板。然后,当我们转到模板中当前块的最后一行时,我会发送下一个块。我会通过AJAX调用来实现这一点吗?(我对网络开发还不太熟悉。)这是一大堆数据要传递到浏览器中,会让任何用户的计算机窒息。例如,想象一下,如果谷歌显示10万条搜索结果,而不是10条或20条,那么搜索结果的呈现速度会非常慢。如果您想要可视化数据,我认为您可能希望在将其发送到模板之前对其进行预聚合,使其处于“图形就绪”状态。让我们举一个很小的例子:

id,name,publisher
1,war and peace,penguin
2,romeo and juliet,harper
3,the trial, penguin
您可能需要将其传递到预先聚合的模板中,例如:

[
  {
    "publisher": "penguin",
    "count": 2,
    "items": ["war and peace", "the trial"]
  },
  {
    "publisher": "haper",
    "count": 1,
    "items": ["romeo and juliet"]
  }
]
通过这种方式,您可以在数据发送到模板之前处理数据,在上面的示例中,可以做一些类似于条形图的事情,然后悬停显示它所拥有的书籍(或者可能是前5位——如果有大量数据,则webview中的大部分数据将以某种方式被截断)