是否可以在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,但这似乎也不起作用。
答案 0 :(得分:1)
请求被响应后,Flask无法在不接收另一个请求的情况下影响页面的内容。因此,每次API调用返回时,您不能只是多次响应。
您要查找的行为需要JavaScript。您可以看到一些选项here,以了解如何处理将数据从服务器推送到客户端的操作。
如果您可以启动来自客户端的请求,则还可以设置一系列AJAX调用,这些调用将在服务器成功从API提取数据后返回。
但是您应该问自己一个问题:服务器在此设置中添加了什么?为什么客户不直接调用API并在API返回时根据需要更新页面?