Jinja2:如何创建多维javascript数组?

2024-04-26 02:44:54 发布

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

我使用FlaskJinja2作为模板语言。

如何使用Jinja2将多维Python结构转换为javascript中相应的结构?

示例(Python/Flask):

pyStruct = [{key1:value1, key2:value2, [{subkey1:subvalue1, subkey2:subvalue2,}]},
            {key1:value1, key2:value2, [{subkey1:subvalue1, subkey2:subvalue2,}]},]

render_template('jinjatemplate.html', pyStruct=pyStruct)

示例(Jinja2):

??

我想我要问的是,这只能通过在Jinja2中创建卷积循环构造来完成,还是我在某个地方遗漏了一条捷径?

如果答案是肯定的,那么在python中直接创建javascript代码并将其传递给Jinja2以供包含可能要容易得多。

但这似乎在某种程度上挫败了使用Jinja2这样的模板语言的目的。。。

我试过(Jinja2):

{{ pyStruct|safe }}

……只要没有unicode,并且没有偏离Ascii区域(在我的例子中通常是这样),这就可以工作。

哦,如果你想知道为什么要通过这种结构?我发现我经常希望将相当复杂的结构传递给javascript,以便菜单和其他复杂的选择界面使用。


Tags: 模板语言jinja2flask示例javascript结构key2