我正在尝试更新index.html文件中的变量。我将运行一个在python中使用循环的线程,但我希望有一种方法来更新下面列出的jinja2表,使其每隔x秒更新一次,就像使用php和ajax一样。
这是我的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>发布于 2016-09-05 04:18:45
你需要一些javascript。
无论是ajax请求,还是websockets,ajax都可能更简单。
只需在ajax请求中使用javascript setInterval()即可。
我建议使用一个库,可能是jquery,因为它非常简单。
$.get( "/auto_refresh", function( data ) {
alert( "Data Loaded: " + data );
});请注意,jinja2只是用于模板,这意味着在某个时候,jinja模板将被转换为html/css。因此,您可以像使用PHP时那样使用ajax。
发布于 2016-09-06 16:06:24
Jinja变量是在模板渲染时生成的。如果不使用某种类型的javascript,就无法以编程方式更新它们。
来自医生们 (重点雷):
Jinja模板包含变量和/或表达式,在模板呈现为时被替换为值;标记控制模板的逻辑。模板语法深受Django和Python的启发。
https://stackoverflow.com/questions/39323779
复制相似问题