今天用django模板显示数据的时候,想根据数据库内id号取模来实现显示不同的CSS类。结果测试了一天也没运算成功。后来查了大量官方文档才知道,模板是不支持数学运算的(真是个让人绝望的缺陷)。没办法,网站还是要做下去的。只能想想别的办法。
功夫不负苦心人,在用了N多个关键词google了之后。终于找到一条能实现基本功能的替代方法就是:
用django的divisibleby标签实现,如下:
{% for each in somelist %}
{% if forloop.counter0|divisibleby:2 %}
<div class=”class1″></div>
{% else %}
<div class=”class2″></div>
{% endif %}
{% endfor %}
divisibleby标签的意义是用后面的参数去除,除尽为True,否则为False
感觉很赞的一个设计,django的模板里面是用一个tags可以实现,加法,减法,乘法,除法的运算。嘿嘿
先看一下django 官方的解释
For creating bar charts and such, this tag calculates the ratio of a given
value to a maximum value, and then applies that ratio to a constant