javascript - 在访问 Jinja 模板值时使用 JavaScript 变量

标签 javascript python flask jinja2

<分区>

我正在使用 python jinja2json 传递到 HTML 文件中。我传递的 json 类似于下面,

result = { "config":{ "firstTitle" : "Report" } }

在我的 HTML 文件中,我有一个 javascript 函数,如下所示,它按预期工作,

    function dispDetails()
    {
        //This works as expected
        //It print 'Report' in the console
        console.log('{{ config.firstTitle }}');
    }

但是如果我的 javascript 函数被修改为包含一个 javascript 变量,代码就会抛出错误,

function dispDetails()
    {
        //Error thrown : jinja2.exceptions.TemplateSyntaxError: expected name or number
        titleStr = "firstTitle";
        console.log('\'{{ config.'+titleStr+' }}\'');
    }

我已经尝试了各种方法来使它正常工作,但不确定我哪里出错了,需要一些指导。

最佳答案

Jinja 变量仅在渲染时设置,您尝试做的事情是不可能的。

这是伪代码,但您可以使用您的 jinja json 声明一个 js 变量并访问它:

var config = {{ config | tojson }};
function dispDetails()
{
    titleStr = "firstTitle";
    console.log(config[titleStr]);
}

关于javascript - 在访问 Jinja 模板值时使用 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43758751/

相关文章:

python - Dropbox/delta 忽略光标

php - 如何快速搜索数百万个字符串?

python - 在 matplotlib 中更改颜色条渐变

python - 从同一文件夹中的文件导入功能

python - 如何编辑flask-admin以支持 Multi-Tenancy ?

javascript - jQuery:为什么不在生成的按钮上调用点击功能

Javascript 模块模式

javascript - 音频播放器(Reactjs): how to update parent state with a property of child on click

python - gunicorn 导入错误 : No module named flask

javascript - 使用 em 统一居中内容