-1

我来自这个问题Use variable as dictionary key in Django template

我在我的视图中创建了这个上下文:

{'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 回答