Jinja2: Как создать многомерный массив javascript?

Я использую Flask с Jinja2 в качестве языка шаблонов.

Как преобразовать многомерную структуру Python в соответствующую структура в javascript с использованием Jinja2?

Пример (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, или у меня где-то не хватает ярлыка?

Если ответ - да, нужно использовать запутанные циклы в Jinja2, тогда, вероятно, намного проще просто создать код javascript непосредственно в python и передать его Jinja2 для включения.

Но это, похоже, несколько противоречит цели использования языка шаблонов, такого как Jinja2 ...

Я попробовал (Jinja2):

{{ pyStruct|safe }}

... и это действительно работает, пока ничто не является Unicode, а не заблудиться из страны Ascii (что обычно происходит в моем случае).

О, а если вы задаетесь вопросом, зачем проходить такую ​​структуру? Я обнаружил, что часто хочу передать довольно сложные структуры в javascript для использования в меню и других сложных интерфейсах выбора.

5
задан herira 7 July 2011 в 11:38
поделиться