python - 在 while 循环中更新 Render_template
问题描述
是否可以在 while 循环中更新我的烧瓶应用程序 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 ui (test_try.html) 更新通过 while 循环运行的每个计数 += 1。例如,现在它会更新 10 次运行,但都是在某个时间。我想增量更新每次运行,直到计数达到 10。
我曾尝试在 while 循环中渲染模板,但这似乎也不起作用。
解决方案
一旦请求得到响应,Flask 就无法在没有收到另一个请求的情况下影响页面的内容。因此,您不能在每个 API 调用返回时都响应很多次。
您正在寻找的行为需要 JavaScript。你可以在这里看到一些关于如何处理从服务器推送数据到客户端的选项。
如果您可以从客户端启动请求,您还可以设置一系列 AJAX 调用,这些调用将在服务器成功从 API 获取数据时返回。
但是您应该问自己的一个问题是:服务器在此设置中添加了什么?为什么客户端不直接调用 API 并在 API 返回时根据需要更新页面?
推荐阅读
- vim - vimrc 需要修复/重写
- javascript - 如何为标题和正文全局加载 2 个不同的 CSS 文件?
- regex - 使用 Grok 从路径字符串中过滤掉 UUID 并返回路径
- angular - 在 Angular 9 中使用 ngx-slick-carousel 的图像滑块不渲染图像
- python - 熊猫数据框:从有关状态更改时间的信息获取从何时到何时状态持续
- http-headers - 没有任何 Cache-Control 标头的浏览器缓存请求/响应
- javascript - 如何在discord.js中获取所有成员ID
- date - 使用 ImageMagick,在图像上写下创建日期
- python - 显示更多x轴数据
- huawei-mobile-services - HMS ML 套件的音频文件转录问题