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 %}

应该可以解决。