【问题标题】:Image size based on Forloop pattern基于 Forloop 模式的图像大小
【发布时间】:2014-10-29 10:07:01
【问题描述】:

我有一个图像循环。

想要的图案:

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 %}

【问题讨论】:

    标签: python django django-templates django-template-filters


    【解决方案1】:

    对我来说,这看起来像是 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 标签,所以那里可能有问题。

    【讨论】:

    • 这是一个非常好的解决方案,它运行完美,而且非常简单!
    • 我看到了您提出的修改 - 现在添加的 silent 参数也将停止不需要的输出。
    【解决方案2】:

    我相信您正在寻找数字 mod 4 为 2 或 3 的情况。

    2 % 4 = 2
    3 % 4 = 3
    6 % 4 = 2
    7 % 4 = 3
    10 % 4 = 2
    11 % 4 = 3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-30
      • 2014-09-05
      • 1970-01-01
      • 2013-11-13
      • 2017-02-22
      • 1970-01-01
      • 2020-06-08
      • 2018-04-30
      相关资源
      最近更新 更多