如何在模板表单中同步迭代2个对象?
我的观点中有两个对象;一个对象是产品,其他价格。两者都是清单。 我想在模板表单中同时循环浏览产品和价格。
通常在python中我只会做一个简单的while循环:
n = 0
while n < len(products):
print products[n], prices[n]
n+=1
我还没有在模板表单中找到任何相似内容。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您可能希望在https://docs.djangoproject.com/en/dev/ref/templates/builtins/
使用forloop.counter,docs答案 1 :(得分:1)
您可以编写自定义模板过滤器来获取列表中的第n个项目,但这就是我要做的:
在视图中将2个列表拼凑在一起:
products_prices = zip(products, prices)
然后循环遍历模板中的循环列表:
{% for product, prices in products_prices %}
{{ product }}, {{ price }}
{% endfor %}
答案 2 :(得分:1)
内置的模板标签没有一种简单的方法可以做到这一点,我记得。最简单的方法是在视图中将两个列表压缩在一起,然后在上下文中提供压缩数据结构。如果您有冒险精神,也可以编写自定义zip
模板标记。