25

次のシナリオを実行する必要があります。

Python 辞書の Python リスト リストのl = [a,b,c,...,n] 各要素は、次のような Python 辞書です。

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

今、すべての辞書をメイン テンプレートのリストとして使用したいと考えています。ただし、各ディクショナリのコンテンツは子テンプレートでレンダリングする必要があります。コンテンツをレンダリングするために使用するテンプレートは、ディクショナリの型変数によって定義する必要があります。

Jinja2 を使用してこれを実現する方法についてのヒント (それが役立つ場合は、Flask 経由で使用しています..)

ありがとう!

4

1 に答える 1

52

誰かがそれを必要とする場合:

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

テンプレートでは、次のようにコンテンツにアクセスできます。

{{ d.content }}

freenode の #pocoo チャンネルの donri に感謝します !

于 2011-05-24T06:54:53.133 に答える