码迷,mamicode.com
首页 > 其他好文 > 详细

django模板里循环变量<table>里想要两个一行如何控制

时间:2016-08-03 18:19:59      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

2016-8-3 周三

做项目时遇到的问题:

每个div由循环变量输出:

{% for key,value in formextenddetail %}
<div id="div_id_notes" class="value form-group row">
<div class="control-label">{{ key }}</div>
<div class="controls"><p class="form-control-static "><span class="text-muted"><font color="black">{{ value }}</font></span></p></div>
</div>
{% endfor %}

但是我想两个div一行,使用

<table>

<tr>

<td><div></div></td>

<td><div></div></td>

</tr>

...

</table>

这种样子

因为我负责的是前端,views这些不是很熟悉,想在template里直接控制,搜一下发现居然还不用直接用乘除或者mod计算,囧。

 

参考文章:http://blog.csdn.net/rain_qingtian/article/details/41076151

容易知道,Django模版加法:

{{ value|add:10}}

value=5,则返回15 Django模版减法:

{{value|add:-10}}

value=5,则返回-5,这个比较好理解,减法就是加一个负数 Django模版乘法:

{%  widthratio 5 1 100 %}

上面的代码表示:5/1 *100,返回500,widthratio需要三个参数,它会使用 参数1/参数2*参数3,所以要进行乘法的话,就将参数2=1即可 Django模版除法

{%  widthratio 5 100 1 %}

上面的代码表示:5/100*1,返回0.05,只需要将第三个参数设置为1即可。

但是这些方法用在除余很麻烦。

解决方案:divisibleby标签!

用django的divisibleby标签实现,如下:

{% for each in somelist %}

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

<div class=”class1″></div>

{% else %}

<div class=”class2″></div>

{% endif %}

{% endfor %}

divisibleby标签的意义是用后面的参数去除,除尽为True,否则为False。

 

所以,我的代码改为:

<table class="col-sm-12">
{% for key,value in formextenddetail %}
{% if forloop.counter|divisibleby:‘2‘ %}
<td style="width: 50%" >
<div id="div_id_notes" class="value form-group row">
<div class="control-label">{{ key }}</div>
<div class="controls"><p class="form-control-static "><span class="text-muted"><font color="black">{{ value }}</font></span></p></div>
</div>
</td>
</tr>
{% else %}
<tr>
<td style="width: 50%" >
<div id="div_id_notes" class="value form-group row">
<div class="control-label">{{ key }}</div>
<div class="controls"><p class="form-control-static "><span class="text-muted"><font color="black">{{ value }}</font></span></p></div>
</div>
</td>

{% endif %}
{% endfor %}
</table>

 

这个解决方案同样可以用在换行变样式的情况等!

                                                    

django模板里循环变量<table>里想要两个一行如何控制

标签:

原文地址:http://www.cnblogs.com/weridmaid/p/5733623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!