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

2024-10-01 07:23:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python jinja2json传递到HTML文件中。jsonI过程与下面类似

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

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

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

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

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

我已经尝试了各种方法来实现这一点,但我不确定我会错在哪里,需要一些指导


Tags: 文件函数reportlogconfigjsonjinja2html
1条回答
网友
1楼 · 发布于 2024-10-01 07:23:28

Jinja变量仅在渲染时设置,您尝试执行的操作是不可能的

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

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

相关问题 更多 >