为什么Django模板循环嵌套我的div?

为什么Django模板循环嵌套我的div?,django,twitter-bootstrap,if-statement,django-templates,nested-loops,Django,Twitter Bootstrap,If Statement,Django Templates,Nested Loops,我正在Django中使用Bootstrap,希望.item-container.col-md-4是一行中的三个框。它应该是这样的: <div class="row"> <div class="item-container col-md-4> Stuff</div> <div class="item-container col-md-4> Another Thing</div> <div class="ite

我正在Django中使用Bootstrap,希望.item-container.col-md-4是一行中的三个框。它应该是这样的:

<div class="row">
    <div class="item-container col-md-4> Stuff</div>
    <div class="item-container col-md-4> Another Thing</div>
    <div class="item-container col-md-4> This Next One</div>
</div>
<div class="row">
    <div class="item-container col-md-4> Stuff
        <div class="item-container col-md-4> Another Thing</div>
    </div>    
</div>
<div class="item-container col-md-4> This Next One</div>

还有一件事
东西
下一个
这是我的密码:

{% for product in products %}
    {% if forloop.first %}
    <div class="row">
    {% endif %}
   <div class="item-container col-md-4">
     {{ product.someinfo }}
  </div>
   {% if forloop.counter != products|length  %}
    </div>
    <script> console.log('not last', {{ products|length }}, {{forloop.counter}} ); </script>
   {% endif %}

   {% if forloop.last %}
    </div>
   <script> console.log('by 3', {{ products|length }}, {{forloop.counter}} );</script>

{% elif forloop.counter|divisibleby:3 %}
   <script> console.log('last', {{ products|length }}, {{forloop.counter}} );</script>
   <div class='row'>
{% endif %}

{% empty %}

<div class="nothing-found">
    Nothing found.
</div>

{% endfor %}
{%用于产品中的产品%}
{%if-forloop.first%}
{%endif%}
{{product.someinfo}}
{%if-forloop.counter!=产品|长度%}
log('notlast',{{products | length}},{{{forloop.counter}});
{%endif%}
{%if-forloop.last%}
log('by 3',{{products | length}},{{{forloop.counter}});
{%elif forloop.counter |可除数b:3%}
log('last',{{products | length}},{{{forloop.counter}});
{%endif%}
{%empty%}
什么也没找到。
{%endfor%}

您可能需要删除下面所示行中的额外

   {% if forloop.counter != products|length  %}
    </div>    <----------------------- THIS
    <script> console.log('not last', {{ products|length }}, {{forloop.counter}} ); </script>
   {% endif %}
{%if-forloop.counter!=products | length%}

我试过了,但我的模特还是排不上队。它们令人震惊。这可能是由于在此模板之前有一个额外的或未关闭的div造成的,还是我的逻辑有问题?现有的逻辑似乎太复杂,很可能在某个地方有一个额外的div。
{% if products %}
<div class="row">
{% for product in products %}
    <div class="item-container col-md-4"> {{ product.someinfo }} </div>
  {% if forloop.counter|divisibleby:3 %}
</div>
<div class="row">
  {% endif %}
{% endfor %}
</div>
{% else %}
<div class="nothing-found">
    Nothing found.
</div>
{% endif %}