Django模板行替代多个内容

时间:2016-12-20 08:52:30

标签: django

我是这样的模板设计

<div class="row">
      <div class="col-sm-8"></div>
      <div class="col-sm-4"></div>
</div>
<div class="row">
      <div class="col-sm-4"></div>
      <div class="col-sm-8"></div>
</div>

我尝试过使用这篇文章django template rows of multiple items

但输出并不是按要求提供的。我该怎么办?

我尝试过的事情:

{% for item in items %}
<div class="row">
   {% if forloop.counter|divisibleby:2 %}
       <div class="col-sm-4"></div>
       {% else %}
        <div class="col-sm-8"></div>
   {% endif %}
</div>
{% endfor %}

2 个答案:

答案 0 :(得分:1)

您的代码每个项目生成一行。如果我更正,你想要每行2件。

{% with items_length = items|length%}
<div class="row">
{% for item in items %}
<div class="col-sm-{% cycle '4' '8'%}"></div>
{% if forloop.counter|divisibleby:2 and forloop.counter < items_length %}
</div>
<div class="row">
{% endif %}
{% endfor %}
</div>
{% endwith %}

这样的事情应该有用。

答案 1 :(得分:0)

以下是一种方法:

{% for item in items %}
<div class="row">
    {% if forloop.counter0|divisibleby:2 %}
        <div class="col-sm-8"></div>
        <div class="col-sm-4"></div>
    {% else %}
        <div class="col-sm-8"></div>
        <div class="col-sm-4"></div>
    {% endif %}
</div>
{% endfor %}

请注意使用forloop.counter0