gpt4 book ai didi

python - Django - 如何在模板 'for' 循环中进行元组解包

转载 作者:IT老高 更新时间:2023-10-28 20:24:24 25 4
gpt4 key购买 nike

在我的views.py中,我正在构建一个双元组列表,其中元组中的第二项是另一个列表,如下所示:

[ Product_Type_1, [ product_1, product_2 ],
Product_Type_2, [ product_3, product_4 ]]

在普通的旧 Python 中,我可以像这样迭代列表:

for product_type, products in list:
print product_type
for product in products:
print product

我似乎无法在我的 Django 模板中做同样的事情:

{% for product_type, products in product_list %}
print product_type
{% for product in products %}
print product
{% endfor %}
{% endfor %}

我从 Django 收到此错误:

渲染时遇到异常:zip 参数 #2 必须支持迭代

当然,模板中有一些 HTML 标记,而不是打印语句。 Django 模板语言不支持元组解包吗?还是我以错误的方式解决这个问题?我要做的只是显示一个简单的对象层次结构 - 有几种产品类型,每种都有几个产品(在 models.py 中,Product 有一个 Product_type 的外键,一个简单的一对多关系)。

显然,我对 Django 还是很陌生,因此我们将不胜感激。

最佳答案

另一种方式如下。

如果有一个元组列表说:

mylst = [(a, b, c), (x, y, z), (l, m, n)]

然后可以通过以下方式在模板文件中解压缩此列表。在我的例子中,我有一个包含 URL、标题和文档摘要的元组列表。

{% for item in mylst %}    
{{ item.0 }} {{ item.1}} {{ item.2 }}
{% endfor %}

关于python - Django - 如何在模板 'for' 循环中进行元组解包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/271077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com