在Jinja2中动态使用模板

时间:2011-05-23 19:20:57

标签: python templates jinja2 flask

我必须遵循以下方案:

python词典l = [a,b,c,...,n]的python列表 列表的每个元素都是一个python字典,如下所示:

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

现在我希望所有词典都作为主模板中的列表。但是,每个字典的内容都应该由子模板呈现。用于呈现内容的模板应该由字典的类型变量定义。

有关如何使用Jinja2完成此任务的任何提示(如果有帮助,我通过Flask使用它。)

谢谢!

1 个答案:

答案 0 :(得分:47)

如果有人需要它:

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

然后在模板中,您可以访问内容,如下所示:

{{ d.content }}

感谢freenode上#pocoo频道的donri!