首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每X秒更新一次Jinja2变量- Python

每X秒更新一次Jinja2变量- Python
EN

Stack Overflow用户
提问于 2016-09-05 04:03:33
回答 2查看 1.2K关注 0票数 0

我正在尝试更新index.html文件中的变量。我将运行一个在python中使用循环的线程,但我希望有一种方法来更新下面列出的jinja2表,使其每隔x秒更新一次,就像使用php和ajax一样。

这是我的Jinja2代码:

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2016-09-05 04:18:45

你需要一些javascript。

无论是ajax请求,还是websockets,ajax都可能更简单。

只需在ajax请求中使用javascript setInterval()即可。

我建议使用一个库,可能是jquery,因为它非常简单。

代码语言:javascript
复制
$.get( "/auto_refresh", function( data ) {
  alert( "Data Loaded: " + data );
});

请注意,jinja2只是用于模板,这意味着在某个时候,jinja模板将被转换为html/css。因此,您可以像使用PHP时那样使用ajax。

票数 2
EN

Stack Overflow用户

发布于 2016-09-06 16:06:24

Jinja变量是在模板渲染时生成的。如果不使用某种类型的javascript,就无法以编程方式更新它们。

来自医生们 (重点雷):

Jinja模板包含变量和/或表达式,在模板呈现为时被替换为值;标记控制模板的逻辑。模板语法深受Django和Python的启发。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39323779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档