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