2016-09-05 21 views
-1

index.htmlファイル内の変数を更新しようとしています。私はPythonでループを持つスレッドを実行するつもりですが、私はちょうどあなたがphpとajaxを使っていた場合のように、x秒ごとに更新するために以下にリストされた私のjinja2テーブルを更新する方法が欲しいです。ここでJinja2変数をX秒ごとに更新する - Python Flask

は私Jinja2のコードです:

<table border=1 id="allTable" class="display"> 
     <tbody id="eliteTable"> 
     <tr><td colspan=9 class=queueheader>Elite (Current SLA: {{ eliteSLA | safe}}%)</td></tr> 
     <tr><th>Skill</th><th>SLA</th><th>Calls Waiting</th><th>Hold Time</th><th>Staffed</th><th>Avail</th><th>ACW</th><th>Aux</th><th>ACD Calls</th></tr> 
     {% for row in eliteList %} 
      {% if row[2]|int > 30 %} 
       <tr class=longwait> 
      {% elif row[2]|int > 0 %} 
       <tr class=waiting> 
      {% else %} 
       <tr> 
      {% endif %} 
      {% for i in row %} 
       <td> {{ i | safe }} </td> 
      {% endfor %} 
      </tr> 
     {% endfor %} 
     </tbody> 

    </table> 
+0

あなたの質問はどこですか? – Julien

答えて

1

あなたはそこにいくつかのjavascriptが必要です。

ajaxリクエストまたはウェブソケットのいずれかですが、ajaxは簡単です。

ajaxリクエストでjavadript setInterval()を使用してください。

ライブラリを使用することをお勧めします。おそらくjqueryはとても簡単です。

$.get("/auto_refresh", function(data) { 
    alert("Data Loaded: " + data); 
}); 

なおJinja2のは、いくつかの点で神社のテンプレートはHTML/CSSに変換されます。つまり、単なるテンプレートです。 PHPを使用していたときと同じように、ajaxで遊ぶことができます。

0

テンプレートレンダリング時にジンジャ変数が生成されます。何らかのjavascriptを使わずにプログラムで更新する方法はありません。 the docs(強調鉱山)から

は:

A [神社]テンプレートは、テンプレートがレンダリングされるときに値に置き換え得る変数および/または式、を含有します。テンプレートのロジックを制御するタグなどがあります。テンプレートの構文は、DjangoとPythonに大きく影響されます。

関連する問題