-1

私はこの質問から来ていますDjangoテンプレートの辞書キーとして変数を使用します

私はこのコンテキストを私のビューで作成しました:

{'cats': {'LIST1': ['a','b','c'], 'LIST2': ['aa','bb','cc','dd'], 'LIST3': ['f','g']}}

私がやりたいのは、リストのタイトルを印刷してから、すべてのアイテムを印刷することです。

LIST1:
- a
- b
- c 

すべてのリストについて、テンプレートでこれを行いました

{% for  l_name, l in cats %}
    {{ l_name }}

    {%for lv in l %}
        {{ lv }}
    {% endfor %}
{% endfor %}

これにより、リストは印刷されず、リスト名のみが印刷されます。どこが間違いですか?

ありがとう

4

2 に答える 2

5

キーと値を反復処理する場合は、次を使用できます。

{% for name, lst in cats.iteritems %}
.... 
{% endfor %}

iteritemsこれは、ディクショナリのメソッドを呼び出すだけで、2タプルのリストに対してイテレータを返します。

Djangoの{% for %}タグドキュメントにも、この良い例がいくつかあります。

于 2012-11-17T13:36:05.320 に答える
0

念のために言っておきますが、問題はデータの作成方法です。だから代わりに

{'cats': {'LIST1': ['a','b','c'], 'LIST2': ['aa','bb','cc','dd'], 'LIST3': ['f','g']}}

私はtoupleのリストが必要なので:

{'cats': [('LIST1', ['a','b','c']), ('LIST2', ['aa','bb','cc','dd']), ('LIST3', ['f','g'])]}
于 2012-11-17T13:38:08.890 に答える