django 中嵌套 for 循环的问题
Trouble with nested for-loops in django
我在尝试找出 django 中的嵌套 for 循环时遇到问题。
它一直在第三个 endfor-block 上向我抛出错误,告诉我 "Invalid block tag on line 23: 'endfor', expected 'elif', 'else' or 'endif'. Did you forget to register or load this tag?",但这对我来说毫无意义。
代码大致如下所示:
<body>
<h1>Table</h1>
{% if items1 %}
{% if items2 and items3 and items4 %}
<table style="width:90%">
<tr>
{% for item4 in items4 %}
<th>{{ item4 }}</th>
{% endfor %}
</tr>
{% for item2 in items2 %}
<tr>
{for item4 in items4}
<td>{{ item2 }}</td>
{% endfor %}
</tr>
{% endfor %}
</ul>
{% else %}
Error 1.
{% endif %}
{% else %}
Error 2.
{% endif %}
</body>
在你的内部循环中,你正在覆盖 item4
。
<tr>
{% for item4 in items4 %}
<th>{{ item4 }}</th>
{% endfor %}
</tr>
{% for item2 in items2 %}
<tr>
{for item4 in items4}
<td>{{ item2 }}</td>
{% endfor %}
</tr>
{% endfor %}
</ul>
另外,这一行
{for item4 in items4}
没有有效的块标签,但有一个结束的 {% endfor %} 块标签。所以 Django 发现了一个太多的 {% endfor %} 标签。
更改此部分
{for item4 in items4}
<td>{{ item2 }}</td>
{% endfor %}
进入
{% for item4_2 in items4% }
<td>{{ item2 }}</td>
{% endfor %}
应该可以解决。
我在尝试找出 django 中的嵌套 for 循环时遇到问题。
它一直在第三个 endfor-block 上向我抛出错误,告诉我 "Invalid block tag on line 23: 'endfor', expected 'elif', 'else' or 'endif'. Did you forget to register or load this tag?",但这对我来说毫无意义。
代码大致如下所示:
<body>
<h1>Table</h1>
{% if items1 %}
{% if items2 and items3 and items4 %}
<table style="width:90%">
<tr>
{% for item4 in items4 %}
<th>{{ item4 }}</th>
{% endfor %}
</tr>
{% for item2 in items2 %}
<tr>
{for item4 in items4}
<td>{{ item2 }}</td>
{% endfor %}
</tr>
{% endfor %}
</ul>
{% else %}
Error 1.
{% endif %}
{% else %}
Error 2.
{% endif %}
</body>
在你的内部循环中,你正在覆盖 item4
。
<tr>
{% for item4 in items4 %}
<th>{{ item4 }}</th>
{% endfor %}
</tr>
{% for item2 in items2 %}
<tr>
{for item4 in items4}
<td>{{ item2 }}</td>
{% endfor %}
</tr>
{% endfor %}
</ul>
另外,这一行
{for item4 in items4}
没有有效的块标签,但有一个结束的 {% endfor %} 块标签。所以 Django 发现了一个太多的 {% endfor %} 标签。
更改此部分
{for item4 in items4}
<td>{{ item2 }}</td>
{% endfor %}
进入
{% for item4_2 in items4% }
<td>{{ item2 }}</td>
{% endfor %}
应该可以解决。