django模板里循環變量

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>

 

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

                                                    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 ul li一行兩個顯示 兩個div在同一行顯示 兩個input在同一行連着不留縫隙 嘗試讓兩個div顯示在同一行上 級聯兩個bootstrap-table。一張表顯示相關的數據,通過點擊這張表的某一行,傳過去對應的ID,刷新另外一張表。 Bootstrap Table表頭多一行 如何在Python中讓兩個print()函數的輸出打印在一行內? Django模板變量的使用 利用js實現table增加一行 Django中一個項目里怎么使用兩個數據庫
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM