【问题标题】:Insert Jinja2 variables in Javascript在 Javascript 中插入 Jinja2 变量
【发布时间】:2017-04-13 10:27:39
【问题描述】:

我正在尝试重构我的 JS。我的 html 文件的 <script> 中有各种 Morris.js 函数。这个 html 由烧瓶渲染。函数的数据通过 Jinja2 模板系统直接从服务器提供。

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

我真的不想在 html 中包含 onClick 或 JS 脚本,我希望尽可能将所有 JS 放在单独的 JS 文件中。据我所知,我不能,因为这些变量是引擎渲染的,但在我看来,导入JS文件的脚本也是jinja引擎渲染的,所以我不太确定。

我认为通过meta 标签传递数据是可能的,但我真的不想要任何黑客,如果我不能或没有“正确”的方式来做到这一点,我不会'不要这样做。

示例函数:

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']
            });
    }

提前致谢。

【问题讨论】:

    标签: javascript html jinja2 morris.js


    【解决方案1】:

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

    【讨论】:

    • 这意味着通过 html 中的 onclick 传递数据,对吗?
    • 如果这是唯一的方法,我不会这样做。我不想在我的 html 中有 JS
    猜你喜欢
    • 2022-08-07
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 2021-11-08
    • 2019-11-02
    • 2015-02-27
    • 2021-08-23
    • 1970-01-01
    相关资源
    最近更新 更多