如何在模板表单中同步迭代2个对象?
我的视图中有两个对象,一个是产品,另一个是价格。两者都是名单。我想循环两个产品和价格在同一时间在模板形式。
通常,在python中,我只会将一个简单的while循环变成这样:
n = 0
while n < len(products):
print products[n], prices[n]
n+=1我还没有在模板表单中找到类似的东西。
任何帮助都将不胜感激。
发布于 2014-02-03 02:06:16
您可以编写自定义模板筛选器,以获取列表中的第n项,但我将这样做:
将视图中的2个列表压缩到一起:
products_prices = zip(products, prices)然后循环遍历模板中的循环列表:
{% for product, prices in products_prices %}
{{ product }}, {{ price }}
{% endfor %}发布于 2014-02-03 02:04:01
您可能想使用forloop.counter,https://docs.djangoproject.com/en/dev/ref/templates/builtins/的文档
发布于 2014-02-03 02:06:24
我记得,内置的模板标记没有一种简单的方法可以做到这一点。最简单的方法是在视图中将这两个列表压缩在一起,然后在上下文中提供压缩的数据结构。如果您感到冒险,还可以编写自定义的zip模板标记。
https://stackoverflow.com/questions/21518638
复制相似问题