tập hợp lại Thẻ mẫu
Ví dụ
Hiển thị tất cả các xe có tiêu đề mới cho mỗi thương hiệu:
{% 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 %}
Chạy Ví dụ »Định nghĩa và cách sử dụng
Thẻ regroup
trả về một đối tượng mới được nhóm theo một giá trị đã chỉ định.
Kết quả được chia thành một đối tượng GroupedResult
cho mỗi nhóm, tạo đối tượng newlist
từ ví dụ trên, trông như thế này:
Ví dụ
Kết quả từ {% 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'
}
]
)
]
Lưu ý: Đảm bảo đối tượng được sắp xếp chính xác trước khi nhóm lại, nếu không bạn sẽ kết thúc với các nhóm có cùng tên grouper
.
Cú pháp
{% regroup object by object.property as newname %}
Thông số
Value | Description |
---|---|
object | Required. A list or object taht you want to regroup |
object.property | Required. The name of the property you want to group by |
newname | Required. A new name for the returned object |