迭代 Django 模板中数组内的多个列表
Posted
技术标签:
【中文标题】迭代 Django 模板中数组内的多个列表【英文标题】:iterate over multiple lists inside an array in django template 【发布时间】:2014-09-06 03:42:56 【问题描述】:我有两个东西,第一个是 group,第二个是 group-item。
群组列表为:[<group1: group>, <group2: group>]
组项目列表是:
[[<obj1: obj>, <obj2: obj>], [<obj3: obj>]]
其中第一组对象属于第一组,第二组属于第二组。
我想在Django Template
中迭代这些列表,并且需要这样的输出:
Group1
obj1
obj2
Group2
obj3
任何帮助都可以得到。 谢谢。
【问题讨论】:
您可以在视图中将它们一起zip
它们,然后在模板中迭代组合的数据结构。
【参考方案1】:
这当然不是Django
类型的问题,它是python list
操作类型,列表项是Django 对象。所以,这里我将举例说明如何将两个列表对象操作为所需格式。
我假设,
示例输入:
您可以使用django list objects
,而不是这些示例输入list
。
list1 = ['Group1','Group2','Group3']
list2 = [['Item1','Item2'],['Item3','Item4'],['Item5']]
片段:
import itertools
In [19]: for g,i in itertools.izip_longest(list1,list2):
....: print "Group:",g
....: print "Items:",i
....:
Group: Group1
Items: ['Item1', 'Item2']
Group: Group2
Items: ['Item3', 'Item4']
Group: Group3
Items: ['Item5']
参考这些:
zip 和 izip_longest
【讨论】:
以上是关于迭代 Django 模板中数组内的多个列表的主要内容,如果未能解决你的问题,请参考以下文章