我创建了一个嵌套列表,并从该ID开始,就像在我的模板中创建一个表
列表看起来像
ground_skills_available = [[category1, [skill1, skill2, skill3]], [category1, [skill1, skill2]]]
现在我想列出你在下面的项目,下一个类别和其他项目下面的类别。问题是,我不知道热门只显示类别,而不是类别+所有项目,因为你似乎无法使用列表的索引?
有人可以帮帮我吗?
<table>
{% for categories in ground_skills_available %}
{% for category in categories %}
<tr>
<td>{{ category }}</td>
</tr>
{% for skill in category %}
<tr>
<td>{{ skill.name }}</td>
</tr>
{% endfor %}
{% endfor %}
{% endfor %}
答案 0 :(得分:2)
将外圈改为
{% for category, skills in ground_skills_available %}
Django for loop docs中描述了这种技术。
在循环的第一次迭代中,这将采用列表[category1, [skill1, skill2, skill3]
,并分配
category = category1
skills = [skill1, skill2, skill3]
然后,您可以显示{{ category }}
,并循环显示skills
。
把它们放在一起,你有:
<table>
{% for category, skills in ground_skills_available %}
<tr>
<td>{{ category }}</td>
</tr>
{% for skill in skills %}
<tr>
<td>{{ skill.name }}</td>
</tr>
{% endfor %}
{% endfor %}
</table>
答案 1 :(得分:1)
{% if forloop.index == 1 %} ... some code ... {% endif %}
或
{% if forloop.index0 == 0 %} ... some code ... {% endif %}
期望:
{% for categories in ground_skills_available %}
{% for category in categories %}
{% if forloop.first %}
<tr>
<td>{{ category }}</td>
</tr>
{% else %}
{% for skill in category %}
<tr>
<td>{{ skill.name }}</td>
</tr>
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}