2016-12-16 100 views
1

我有一个HTML页面,在变量schedule中有顺序的十进制数,以秒为单位。在jinja for循环中调用JavaScript函数

我的目的是创建一个函数,使用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> 

回答

3

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

您不能在Jinja for-loop中调用javascript函数,因为这两件事发生在不同时间,不同机器上。

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

+0

好的,谢谢Slezica,我强调。 – user8303487