Динамическое использование шаблонов в Jinja2 - PullRequest
23 голосов
/ 23 мая 2011

Мне нужен следующий сценарий:

список python словарей python l = [a,b,c,...,n] Каждый элемент списка представляет собой словарь Python, который выглядит примерно так:

d = {}
d['type'] = 5
d['content'] = 'somestring'

Теперь я хочу, чтобы все словари были представлены в виде основного шаблона. Однако содержимое каждого словаря должно отображаться дочерним шаблоном. Какой шаблон использовать для визуализации содержимого, следует определить переменной типа словаря.

Любые подсказки о том, как это можно сделать с помощью Jinja2 (я использую его через Flask, если это поможет ..)

Спасибо!

1 Ответ

47 голосов
/ 24 мая 2011

Если кому-то это нужно:

{% for d in dicts %}
  {% set template = d.type + '.html' %} {% include template %}
{% endfor %}

тогда в шаблоне вы можете получить доступ к содержимому так:

{{ d.content }}

Спасибо Донри из канала #pocoo на freenode!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...