将数据从类传输到烧瓶中的网页

时间:2019-05-26 12:10:33

标签: python class session flask

我在一个类中打包了一些def,以使用Bing或Google翻译API将文本翻译成另一种语言。并使用Flask渲染模板,如您所知。

但是,翻译时,我有一些状态和进度信息,例如翻译段落时完成的10%等。但是您所想象的在翻译类中生成的信息-该类完成翻译工作。

但是,在我的Flask应用程序中,调用该类后,我希望从网页到Flask App进行ajax调用,以检索该类生成的10%的信息。

这是我所做的:

  1. 如果我不使用任何类,请将所有defs放入主Flask App文件中,则可以使用存储10%信息的全局变量,但这会使代码变得复杂,我想打包所有相关的定义在一个类中。

  2. 在Flask应用程序中,我试图使用session ['translation_pos']检索我在课程中的session ['translation_pos']中存储的信息,但似乎不起作用。

我使用python 3和Flask,我不知道如何从类(生成数据的位置)到应用程序获取进度百分比信息。

可能是将数字存储在文本文件或某些位置,然后在App中读取文件的一种方式,但我当时想当然不应该使用这种方式来处理此问题。

任何人都可以提出一些建议,这将不胜感激。

谢谢大家。

1 个答案:

答案 0 :(得分:0)

您可能想用另一种方法来运行任务,使用CeleryRedis Queue之类的东西-很好地覆盖here in the mega tutorial

通过使用其中之一,您可以运行任务并定期查询运行程序以获取进度,并将其报告给用户。

如果是我,为了进行数据处理,我会将其存储在数据库中。任务完成后,将重新查询该任务并将其作为模板变量传递给UI(或者,如果它是大型数据集,则从ajax函数流式传输)。