2016-09-05 171 views
-1

我想更新我的index.html文件中的變量。我將在python中運行一個循環,但我想要一種方式來更新我下面列出的jinja2表,以便每x秒更新一次,就像使用php和ajax一樣。每X秒更新Jinja2變量 - 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請求或websockets,儘管ajax可能會更簡單。

只需使用javascript setInterval()和ajax請求即可。

我建議使用一個庫,也許jQuery,因爲它非常簡單。

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

注意的Jinja2只是爲模板,這意味着在某些時候神社模板會轉換成HTML/CSS。 所以你可以像使用PHP時一樣玩AJAX。

0

Jinja變量是在模板渲染時生成的。沒有辦法以編程方式更新它們,而無需使用某種類型的JavaScript。

the docs(重點煤礦):

A [金賈]模板中包含的變量和/或表達式,其中獲得與值替換模板時呈現;和標籤,它們控制模板的邏輯。模板語法深受Django和Python的啓發。