【问题标题】:Modulus/Modulo equivalent operator/function in django templates?django模板中的模数/模数等效运算符/函数?
【发布时间】:2011-11-13 05:40:33
【问题描述】:

我只是在学习 django 的模板系统并尝试做一些相对琐碎的事情:

<h2>State</h2>
<ul class="states">
{% for state in states %}
   <li class="state_elements" ><a href="/{{ state.name }}/"> {{ state.name }}</a></li>
   {% if forloop.counter \% 3 == 0 %}
   <br style="clear: both"/>
 {% endif %}
{% endfor %}
</ul>

我收到语法错误,因为 % 是为模板语言保留的符号。这很不幸。

我已经找到了部分解决方案

{% cycle "" "" "" '<br style="clear: both"/>' %}

但这让我觉得很奇怪。有没有更好的办法?

【问题讨论】:

    标签: django operators templating


    【解决方案1】:

    forlopp 计数可被 2 整除

    {% if forloop.counter|divisibleby:2 == 0 %}
    

    forloop 计数不能被 2 整除

    {% if forloop.counter|divisibleby:2 != 0 %}
    

    【讨论】:

      【解决方案2】:

      除以

      如果值可以被参数整除,则返回 True。

      例如:

      {{ value|divisibleby:"3" }}
      

      django template doc

      【讨论】:

      • 所以只是健全性检查,我可以像 {% for.counter|divisibleby:"3" %}
        {% endif %}
      • {% if forloop.counter|divisibleby:"3" %}
      猜你喜欢
      • 2015-12-16
      • 2010-11-10
      • 2020-10-15
      • 2019-11-13
      • 2021-02-17
      • 2014-10-07
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多