在Javascript中插入Jinja2变量

时间:2016-11-29 12:13:47

标签: javascript html jinja2 morris.js

我试图重构我的JS。我在html文件的<script>内有各种Morris.js函数。这个html由烧瓶呈现。来自函数的数据通过Jinja2模板系统直接从服务器给出。

有没有办法在JS文件中包含这些函数并为它们提供jinja值?

我真的不想在html中使用onClick或JS脚本,我希望将所有JS放在单独的JS文件中,只要它可能。据我所知,我不能因为引擎呈现这些变量,但在我看来,导入JS文件的脚本也是由jinja引擎呈现的,所以我不太确定

我认为通过meta标签传递数据可能是有可能的,但我真的不想要任何黑客攻击,如果我不能或没有正确的&#34; #34;这样做的方法,我不会这样做。

示例功能:

foo = function(){
        new Morris.Line({
              element: 'network-chart',
              data: [
              {% for load in node_statistics %}
                { y: {{load['time']}}000, a: {{load['b_sum_up']}}, b: {{load['b_sum_down']}}, c: {{load['b_max_up']}}, d: {{load['b_max_down']}} },

             {% endfor %}
              ],
              xkey: 'y',
              ykeys: ['a', 'b', 'c', 'd'],
              labels: ['sum up bandwidth', 'sum down bandwidth', 'max up bandwidth', 'max down bandwidth']
            });
    }

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您将js放在单独的文件中,我认为您可以将参数传递给函数。