我正在尝试向我的 Python/Jinja2 网页添加一个进度条。
对未知长度/恒定动画使用 JS 进度条很容易,但是由于我知道脚本的完成百分比,所以我希望显示实际速率。
我尝试搜索这个主题,但没有找到关于如何使用 python CGI 或 Jinja 实际显示实际进度条的信息。
阻碍我的部分是我不知道如何将不断变化的变量(进度%)更新到 Jinja 并更新网页上的进度条。
我想{%block%}
用作进度条的包装器,并在每次 % 增加时在 python 脚本中重新渲染这部分。这理论上应该可行,但逻辑上似乎不是正确的方法,因为整个块(而不仅仅是 %)会不断刷新数十次。
如果 Python 中的变量可以在呈现的 HTML 页面中动态更新,或者如果 Jinja 可以访问从 Python 发布的 cgi.FieldStorage 对我来说更有意义,但我找不到任何方法来做这些。 .
[编辑] 我尝试使用块但没有成功。
// base.html
{%block body%}
{%endblock%}
// block.html
{%extends "base.html"%}
{%block body%}
<div class="progressbar"></div>
{{super()}}
{%endblock%}
//python
for 1 in 10
template = env.get_template('block.html')
print template.render(var)
该页面将加载,但进度条重复附加到前一个 10 次..