Python/Jinja2 Web ページにプログレス バーを追加しようとしています。
不明な長さ/一定のアニメーションに JS プログレス バーを使用するのは簡単ですが、スクリプトの完了率がわかっているので、実際の速度を表示することにしています。
このトピックを検索してみましたが、python CGI または Jinja を使用して実際の進行状況バーを実際に表示する方法については何も見つかりませんでした。
私を妨げている部分は、絶えず変化する変数 (進行状況 %) を Jinja に更新し、Web ページの進行状況バーを更新する方法がわからないことです。
プログレスバーのラッパーとして使用することを考え{%block%}
、% が増加するたびにこの部分を python スクリプトで再レンダリングします。これは理論的には機能するはずですが、このブロック全体 (% だけでなく) が何十回も常に更新されるため、論理的には正しい方法ではないようです。
レンダリングされた HTML ページで Python の変数を動的に更新できる場合、または Python から投稿された cgi.FieldStorage に Jinja がアクセスできる場合は、より理にかなっていますが、これらのいずれかを行う方法が見つかりませんでした.. .
[編集] ブロックを使用してみましたが、うまくいきませんでした。
// 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 回繰り返し追加されます。