python - Jinja2中模板的动态使用

标签 python templates jinja2 flask

我必须遵循以下场景:

python 字典列表 l = [a,b,c,...,n] 列表的每个元素都是一个 Python 字典,看起来像这样:

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

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

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

谢谢!

最佳答案

如果有人需要:

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

然后在模板中你可以像这样访问内容:

{{ d.content }}

感谢 freenode 上 #pocoo channel 的 donri!

关于python - Jinja2中模板的动态使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101864/

相关文章:

c++ - std::is_same 对代码的性能有影响吗?

c++ - 如何根据类型相关类型专门化 C++ 模板类函数?

python - Jinja2 忽略未找到对象的 UndefinedErrors

python - 如何从 WTForms 表单自动生成完整的 HTML

html - 为什么 App Engine 不加载我的样式表?

python - 检测图像中最长的水平线和垂直线

python - 用全息 View 绘制多条线

python - Tkinter 如何创建网格?

python - 查找长度为 3 的总组合,使得总和可被给定数字整除且 i<j<k

c++ - 向模板特化添加更多类型