我有一圈图像。
所需模式:
1 4 5 8 9 12 13 16
2 3 6 7 10 11 14 15
根据forloop编号,我将有2个可能的图像尺寸,顶部的图像尺寸为1,底部的图像尺寸为2。
所以我使用divisibleby:“x”开头,但很快意识到这不会起作用,因为模式并不总是允许divisibleby,在某些情况下两者都可能是真的。
我可以轻易地这样做,以检查数字是否在列表中,如:
[2,3,6,7,14,15....]
但这真的很蠢。
有一种简单的方法吗?
我最初的想法,根本无效!
{% for project in branding %}
{% if forloop.counter == 1 or forloop.counter|divisibleby:"4" or forloop.counter|divisibleby:"5" %}
<div class="tile">
<a href="/work/{{ project.slug }}/">
<img src="{% thumbnail project.tile_image "313x490" crop="center" as im %}{{ im.url }}{% endthumbnail %}">
</a>
</div>
{% endif %}
{% if forloop.counter|divisibleby:"2" or forloop.counter|divisibleby:"3" %}
<div class="tile">
<a href="/work/{{ project.slug }}/">
<img src="{% thumbnail project.tile_image "313x310" crop="center" as im %}{{ im.url }}{% endthumbnail %}">
</a>
</div>
{% endif %}
{% endfor %}
答案 0 :(得分:5)
我相信你正在寻找你的数字mod 4是2或3的情况。
2 % 4 = 2
3 % 4 = 3
6 % 4 = 2
7 % 4 = 3
10 % 4 = 2
11 % 4 = 3
答案 1 :(得分:3)
这看起来像cycle
内置模板标记的情况:
{% for project in branding %}
<div class="tile">
{% cycle '313x490' '313x310' '313x310' '313x490' as size silent %}
<a href="/work/{{ project.slug }}/">
<img src="{% thumbnail project.tile_image size crop="center" as im %}{{ im.url }}{% endthumbnail %}">
</a>
</div>
{% endfor %}
但我不熟悉您正在使用的thumbnail
标记,因此可能会出现并发症。