【发布时间】:2020-02-26 06:02:48
【问题描述】:
如何在 for 循环中为每个数据在不同的卡片设计之间切换。
<div class="col-1-of-3">
<div class="card">
...
</div>
</div>
<div class="col-1-of-3">
<div class="card">
...
</div>
</div>
<div class="col-1-of-3">
<div class="card">
...
</div>
</div>
这三张卡有不同的设计,目前在Django模板中为每个循环切换这些卡时遇到了麻烦。
{% for cont in data %}
{% ifequal forloop.counter|divisibleby:"3" True %}
<div class="col-1-of-3">
<div class="card">
...
</div>
</div>
{% endifequal %}
{% ifequal forloop.counter|divisibleby:"2" True %}
<div class="col-1-of-3">
<div class="card">
...
</div>
</div>
{% endifequal %}
{% ifnotequal forloop.counter|divisibleby:"2" True %}
<div class="col-1-of-3">
<div class="card">
...
</div>
</div>
{% endifnotequal %}
{% endfor %}
第三张卡逻辑错误。我需要更改此逻辑,以便对于每个循环,每张卡片都需要交替显示。另一个挑战是,在 3 次循环之后它应该关闭该部分,因为连续只允许 3 张牌。
<section class="section-tours" id="section-tours">
{% ifequal forloop.counter|divisibleby:"3" True %}
{% endifequal %}
{% ifequal forloop.counter|divisibleby:"2" True %}
{% endifequal %}
{% ifequal forloop.counter|divisibleby:"2" True %}
{% endifequal %}
</section>
【问题讨论】:
-
您的数据中有多少条记录要尝试迭代?此外,您试图通过 2 和 3 的可分性来分隔卡片,其中的数字可以被 2 和 3 整除,例如 6,12 等等。这不是很有效
-
卡片列出了图书馆中所有可用的书籍,内容是动态的,可以添加到仪表板中。三张卡内迭代应该怎么做,我知道上面程序中的逻辑不正确。
-
有没有 Django 模板过滤器来获取提醒?