regroup 模板標籤
示例
為每個品牌顯示汽車,並帶有新標題
{% regroup cars by brand as newlist %}
{% for x in newlist %}
<h1>{{ x.grouper }}</h1>
{% for y in x.list %}
<p>{{ y.model }}: {{ y.year }}</p>
{% endfor %}
{% endfor %}
執行示例 »
定義和用法
regroup
標籤返回一個按指定值分組的新物件。
結果被分成每個組一個 GroupedResult
物件,使上面的示例中的 newlist
物件看起來像這樣
示例
來自 {% regroup cars by brand as newlist %}
的結果
[
GroupedResult(
grouper='Ford',
list=[
{
'brand': 'Ford',
'model': 'Mustang',
'year': '1964'
},
{
'brand': 'Ford',
'model': 'Bronco',
'year': '1970'
},
{
'brand': 'Ford',
'model': 'Sierra',
'year': '1981'
}
]
),
GroupedResult(
grouper='Volvo',
list=[
{
'brand': 'Volvo',
'model': 'XC90',
'year': '2016'
},
{
'brand': 'Volvo',
'model': 'P1800',
'year': '1964'
}
]
)
]
注意: 確保在分組前物件已正確排序,否則您將得到具有相同 grouper
名稱的組。
語法
{% regroup object by object.property as newname %}
引數
值 | 描述 |
---|---|
object | 必需。您想要分組的列表或物件 |
object.property | 必需。您想要分組的屬性名稱 |
newname | 必需。返回物件的名稱 |