我试图在for循环中迭代list_length
。 list_length
是一个int
对象,它作为上下文变量传递给模板。但是,当我尝试这样做时,它会给出typeError
。有人可以帮忙吗?
{% for i in list_length %}
<tr>
<td>{{ i }}</td>
</tr>
{% endfor %}
答案 0 :(得分:2)
我认为您正在尝试打印表格中每一行的索引。为此,您必须遍历索引列表。在django视图中创建此列表
list = []
for i in range(0,list_length):
list.append(i)
然后在你的django模板中传递这个列表并迭代它
{% for i in list %}
<tr>
<td>{{ i }}</td>
</tr>
{% endfor %}
这应该适合你。
答案 1 :(得分:0)
列表本身可以是可迭代的,但是单个整数本身就是而不是列表。
如果要从零迭代到整数,可以使用类似Python的range(n)
到创建这些值的迭代器。这是针对裸体Python的,根据Numeric for loop in Django templates,Django似乎需要稍微复杂一些的方法。
否则,您可能需要迭代列表本身而不是其长度(取决于您尝试执行的操作以及是否需要循环中的列表'索引')。