Render_template在while循环中更新

时间:2019-08-26 18:00:01

标签: python python-3.x flask flask-restful

是否可以在while循环中更新我的flask app UI的渲染模板?

我已经尝试过多次在while循环中返回render_template,以在每次while循环运行时更新Web ui。

@app.route('/test_try')
def test_try:
    list = []
    count = 0
    list_count = 10

    while count < list_count:
        list.append('new_count'+str(count))
        count += 1

    return render_template('test_try.html', list=list)

我希望我的Web用户界面(test_try.html)可以通过while循环中的每个计数+ = 1进行更新。例如,现在它会更新10个运行,但有时会全部更新。我想逐步更新每次运行,直到计数达到10。

我试图在while循环中渲染render_template,但这似乎也不起作用。

1 个答案:

答案 0 :(得分:1)

请求被响应后,Flask无法在不接收另一个请求的情况下影响页面的内容。因此,每次API调用返回时,您不能只是多次响应。

您要查找的行为需要JavaScript。您可以看到一些选项here,以了解如何处理将数据从服务器推送到客户端的操作。

如果您可以启动来自客户端的请求,则还可以设置一系列AJAX调用,这些调用将在服务器成功从API提取数据后返回。

但是您应该问自己一个问题:服务器在此设置中添加了什么?为什么客户不直接调用API并在API返回时根据需要更新页面?