首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Djago模板卡对齐[Django 2.2]

Djago模板卡对齐[Django 2.2]
EN

Stack Overflow用户
提问于 2021-01-19 17:16:51
回答 2查看 59关注 0票数 0

我需要你的帮助。

我的设想是:Python3.6.6 django 2.2

我想使用django模板生成这样的代码。

代码语言:javascript
复制
<div class="card-deck">
  <div class="card">
    actu1
  </div>
  <div class="card">
    actu2
  </div>
  <div class="card">
    actu3
  </div>
  <div class="card">
    actu4
  </div>
</div>
<!--insert inside a new div (with class card-deck) the 5th actu and next one-->
<div class="card-deck">
  <div class="card">
    actu5
  </div>
  <div class="card">
    actu6
  </div>
  <div class="card">
    actu7
  </div>
  <div class="card">
    actu8
  </div>
</div>
<!--insert inside a new div (with class card-deck) the 9th actu and next one-->

我对django模板所做的工作如下:

代码语言:javascript
复制
{% extends 'actu/base_actu.html'%} 
{% load static %} 
{%block actumain%}
<div class="card-deck">
    {%for actu in actu%}
    <div class="card">
        { {actu.content }}
    </div>
    {%endfor%}
</div>
 {%endblock%}

它只给出了如下代码:

代码语言:javascript
复制
<div class="card-deck">
  <div class="card">
    actu1
  </div>
  <div class="card">
    actu2
  </div>
  <div class="card">
    actu3
  </div>
  <div class="card">
    actu4
  </div>
  <div class="card">
    actu5
  </div>
  <div class="card">
    actu7
  </div>
  <div class="card">
    actu8
  </div>
  <div class="card">
    actu9
  </div>
  <div class="card">
    actu10
  </div>
  <div class="card">
    actu11
  </div>
  <div class="card">
    actu...
  </div>
</div>

拜托,你能给我你的想法来生成这样的代码吗?

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-19 17:48:30

使用forloop.counter0divisibleby诱惑标记如下:

代码语言:javascript
复制
{% for actu in actu %}
    {% if forloop.counter0|divisibleby:"4" and not forloop.first %}
        </div>
    {% endif %}
    {% if forloop.counter0|divisibleby:"4" %}
        <div class="card-deck">
    {% endif %}
    <div class="card">
        {{ actu.content }}
    </div>
    {% if forloop.last %}
        </div>
    {% endif %}
{% endfor %}

在这里,我们首先检查循环计数器是否可以被4除,而不是第一次迭代,如果是,我们呈现结束的div标记。

接下来,如果循环计数器可被4整除,则呈现开始的div标记。

在此之后,我们呈现个人卡。

接下来,我们检查这是否是最后一次迭代,如果是,则呈现结束的div标记。

票数 1
EN

Stack Overflow用户

发布于 2021-01-19 17:48:23

代码语言:javascript
复制
{% for item in actu %}
    {% if forloop.counter0|divisableby:4 %}
    <div class="card-deck">
    {% endif %}
        <div class="card">
            {{ item.content }}
        </div>
        {% if forloop.counter0|divisableby:4 or forloop.last %}
    </div>
    {% endif %}
{% endfor %}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65796337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档