在 jinja for 循环中调用 JavaScript 函数

use*_*487 2 html javascript 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>
Run Code Online (Sandbox Code Playgroud)

sle*_*ica 5

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

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

这种情况的最佳方法是编写 Python 函数,而不是 Javascript 函数,并将其作为filter运行。您可以向模板引擎添加自定义过滤器