django模板裡循環變數裡想要兩個一行如何控制
WBOY
發布: 2016-08-04 08:53:14
原創
1912 人瀏覽過

2016-8-3 週三

做專案時遇到的問題:

每個div由循環變數輸出:

{% for key,value in formextenddetail %}


{{ key }}

{{ value }}



{% endfor %}

但是我想兩個div一行,用

...

這種樣子

因為我負責的是前端,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模版乘法:

上面的程式碼表示:5/1 *100,回傳500,widthratio需要三個參數,它會使用 參數1/參數2*參數3,所以要進行乘法的話,就將參數2=1即可Django模版除法
{%  widthratio 5 1 100

{
%  widthratio 
5 100 1

上面的程式碼表示:5/100*1,回傳0.05,只需要將第三個參數設為1即可。

但是這些方法用在除餘很麻煩。

解決方案:divisibleby標籤!

用django的divisibleby標籤實現,如下:

{% for each in somelist %}

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

{% else %}

{% endif %}

{% endfor %}

divisibleby標籤的意義是用後面的參數去除,除盡為True,否則為False。

 

所以,我的程式碼改為:


{% for key,value in formextenddetail %}
{% if forloop.counter|divisibleby:'2' %} style="width: 50%" >

{{ key }}

{{ value }}







{% else %}
{% else %}
+% " >

{{ key }}

{{ value }}



{% endif %}
{% endfor %}

 

這個解決方案同樣可以用在換行變樣式的情況等!

                                            

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板