【问题标题】:How do I do nested loops in Django?如何在 Django 中进行嵌套循环?
【发布时间】:2020-06-08 04:05:05
【问题描述】:

我正在尝试将具有四个 DIV 的一行输出到 Django 模板:

<div class="row">
   <div class="col-md-3">...</div>
   <div class="col-md-3">...</div>
   <div class="col-md-3">...</div>
   <div class="col-md-3">...</div>
</div>

我需要有两个嵌套的 For 循环,这样每次输出第四个 DIV 时,它都会创建一个新行。在 Java 中,它会是这样的:

for(int i = 0; i < object_list.length; i++){
   <div class="row">
      for(int j = 0; j < 4; j++){
         <div class="col-md-3">
      }
}

我在模板中使用的代码是:

{% for object in object_list %}
   {% with object|search as search_results %}
      {% if search_results == 'Post' %}
         [need to fill in appropriate HTML]
      {% endif %}
   {% endwith %}
{% endfor %}  

我怎样才能做到这一点?

更新: 这并没有完全使用嵌套的 for 循环,但下面的代码解决了我的问题:

     <div class="row">
        {% for object in object_list %}

                {% with object|search as search_results %}
                    {% if search_results == 'Address' %}
                        <div class="col-3">
                            <div class="iq-card">
                                <div class="">{{ user.username }}</div>
                            </div>
                        </div>
                    {% endif %}
                {% endwith %}

        {% endfor %}
    </div>

【问题讨论】:

    标签: python django


    【解决方案1】:

    您可以像使用简单循环一样在模板中简单地嵌套for 循环。

    {% for object in objects %}
      {% for subobject in object %}
        ...
      {% endfor}
    {% endfor %}
    

    对于基于数字的迭代的循环,请查看此问题Numeric for loop in Django templates

    【讨论】:

      【解决方案2】:

      用于创建由&lt;div class="row"&gt;&lt;/div&gt; 包围的多个&lt;div class="col-md-3"&gt;...&lt;/div&gt;,也可以是多个块。

      沿着这条路走:

      {% for object in objects %}
          <div class="row">
              {% for subobject in object %}
                  <div class="col-md-3">...</div>
              {% endfor}
          </div>
      {% endfor %}
      

      【讨论】:

        猜你喜欢
        • 2020-12-05
        • 1970-01-01
        • 2021-09-26
        • 2019-07-28
        • 2020-07-28
        • 1970-01-01
        • 2021-11-10
        • 1970-01-01
        • 2017-09-01
        相关资源
        最近更新 更多