在jinja中调用JavaScript函数进行循环

时间:2016-12-16 16:32:07

标签: javascript html jinja2

我有一个HTML页面,在变量schedule中有连续的十进制数,以秒为单位。

我的目的是创建一个函数,使用JavaScript / jQuery及时转换所有这些数字,     但我无法理解,我如何调用我的函数来转换所有项目?

<html>
    <body>
        // Jinja code

        {% for item in schedule %}

        {{ convertDecimal_to_time(item.someDecimal) }}

        {% endfor %}

    </body>
</html>

<script>
    covertdecimal_to_time(input_number){
        .....
        return time;
    }
</script>

1 个答案:

答案 0 :(得分:3)

Jinja代码在您的服务器上运行。 Javascript在客户端的浏览器上运行。

你不能在Jinja for循环中调用javascript函数,因为这两件事情发生在完全不同的时间,在不同的机器上。

此方案的最佳方法是编写Python函数,而不是Javascript函数,并将其作为filter运行。您可以向模板引擎添加custom filter