Jinja2 中模板的动态使用

发布于 2024-11-08 21:17:25 字数 325 浏览 0 评论 0原文

我必须遵循以下场景:

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

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

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

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

谢谢!

I have to following scenario:

a python list of python dictionaries l = [a,b,c,...,n]
each element of the list is a python dictionary that looks something like this:

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

Now i want all dictionaries as a list in in a main template. However each dictionary's content should be rendered by a child template. Which template to use to render the content should be defined by the type variable of the dictionary.

Any hints on how this can be accomplished using Jinja2 (I'm using it via Flask if that helps..)

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

゛清羽墨安 2024-11-15 21:17:25

如果有人需要它:

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

那么在模板中您可以像这样访问内容:

{{ d.content }}

感谢 freenode 上 #pocoo 频道的 donri !

If anyone needs it:

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

then in the template you can access the content like so:

{{ d.content }}

Thanks to donri from the #pocoo channel on freenode !

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文