2015-08-14 46 views
1

模型gigi已得到typology屬性,我想添加項目到基於typology屬性值的html div標記。我如何設法在Djangos模板中執行此操作:Django模板如果類型添加到html id

for gigi in object_list 


<div id="typology1"> 
{%if gigi.typology == "typology1"> %} 
    <div> {{gigi.name}}</div> 
{% endif %} 
</div> 

<div id="typology2"> 
{%if gigi.typology == "typology2"> %} 
    <div> {{gigi.name}}</div> 
{% endif %} 
</div> 

這是唯一的方法嗎?有沒有更好的幹(不重複自己)的方式?

回答

2

你現在的代碼沒有問題;儘管如此,你可以進行下面的小調整,並刪除相當多的代碼。

爲什麼不使用gigi.typology字符串作爲id

{% for gigi in object_list %} 
<div id="{{ gigi.typology }}"> 
    <div> {{gigi.name}}</div> 
</div> 
{% endfor %} 

如果你正在尋找具有針對特定的「類型學」組合在一起,那麼你也可以使用regroup條款的所有元素。

{% regoup object_list by typology as typolist %} 
{% for typo in typolist %} 
    <div id="{{ typo.grouper }}"> 
     {% for gigi in typo.list %} 
     {{ gigi.name }} 
     {% endfor %} 
    </div> 
{% endfor %}