Jinja2中的动态模板使用
我有以下的情况:
有一个包含多个字典的 Python 列表,格式是 l = [a,b,c,...,n]
。这个列表里的每个元素都是一个 Python 字典,长得像这样:
d = {}
d['type'] = 5
d['content'] = 'somestring'
现在我想把所有的字典放在一个主模板里。但是每个字典的内容需要用一个子模板来显示。用哪个模板来显示内容,应该根据字典里的类型变量来决定。
有没有什么建议可以用 Jinja2 来实现这个?(我是在 Flask 中使用它,如果这有帮助的话……)
谢谢!
1 个回答
55
如果有人需要的话:
{% for d in dicts %}
{% set template = d.type + '.html' %} {% include template %}
{% endfor %}
那么在模板中,你可以这样访问内容:
{{ d.content }}
感谢来自freenode的#pocoo频道的donri!