0

我正在尝试向我的 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 次..

4

1 回答 1

0

发现由于限制,CGI 本身并不支持这一点。我的解决方案:在 div 中打印进度 => 删除 div => 重复。

于 2013-04-17T01:07:10.720 回答