看起來,您無法將排序列表分組到神廟中,而不會丟失排序順序。Jinja中的分組排序列表
下面的示例模板:
{% set l = [{'c': 3, 'result': 1.0},
{'c': 3, 'result': 2.0},
{'c': 9, 'result': 3.0},
{'c': 1, 'result': 4.0}] %}
{% for d in l|groupby('c') %}
{{d}}
{% endfor %}
不幸的是,這個模板輸出:
(1, [{'c': 1, 'result': 4.0}])
(3, [{'c': 3, 'result': 1.0}, {'c': 3, 'result': 2.0}])
(9, [{'c': 9, 'result': 3.0}])
但我所期待的是:
(3, [{'c': 3, 'result': 1.0}, {'c': 3, 'result': 2.0}])
(9, [{'c': 9, 'result': 3.0}])
(1, [{'c': 1, 'result': 4.0}])
我絕對保持項目按預先排序的順序排列。
有沒有人知道如何實現這一目標?
結果穿過'sorted':https://github.com/mitsuhiko/jinja2 /blob/8261473c68993cbbf3460351a1a75be2a04ab245/jinja2/filters.py#L663-L702 – Blender