在Django模板for循环中迭代调用列表索引

2 投票
1 回答
1540 浏览
提问于 2025-04-18 00:18

我在我的模板中通过一个循环打印了多个图片。我想给这些图片设置独特的ID,ID的值来自一个字符串列表。可是我找不到办法做到这一点,直到现在我一直是把ID作为Image模型的属性,在后台手动输入。

下面的模板代码虽然不管用,但它能说明我想做的事情。

在views.py中:

ids = ['one','two','three','four']

模板:

   {% for image in images %}  
<div id ="{{ ids.forloop.counter0 }}"><img src="{{ image.url }}"></div>
          {% endfor %}

1 个回答

2

你不需要使用 ids

这个:

{% for image in images %}  
     <div id ="img{{ forloop.counter }}"><img src="{{ image.url }}"></div>
{% endfor %}

会输出:

<div id ="img1"><img src="<url>"></div>
<div id ="img2"><img src="<url>"></div>
.......

forloop.counter 当前循环的次数(从1开始计数)
forloop.counter0 当前循环的次数(从0开始计数)

撰写回答