2015-05-04 54 views
1

我有QuerySetGroupMembership對象product__name,它被分配到我的模板group_memberships; GroupMembership對象有一個product和一個group字段,它們都具有name屬性。在輸出我想呈現一個標題標籤每次membership.product.name變化:檢查會員值是否與以前的迭代不同

<h1>First Product</h1> 
<p>One item</p> 
<p>Another item</p> 
<h1>Second Product</h1> 
<p>First item in Second Product</p> 

我最初的想法是引進,我保存的最後一個產品名稱的輔助變量,如果是從以前的一個不同(或空),我渲染<h1>線。然而,Django缺少{% assign %}標籤。有沒有辦法做到這一點,而不需要引入自定義模板標籤/上下文處理器?或者我應該在我的視圖中以某種方式進行分組,並將嵌套的dict分配給我的模板?我不想爲這件事安裝任何自定義應用程序。

回答

2

使用{% ifchanged %}模板標籤:

{% for membership in group_memberships %} 

    {% ifchanged %} 
     <h1>{{ membership.product.name }}</h1> 
    {% endifchanged %} 

    <p>{{ membership.group.name }}</p> 

{% endif %} 
相關問題