Python 检查成员值是否与上一次迭代中的不同
我有一个Python 检查成员值是否与上一次迭代中的不同,python,django,django-templates,Python,Django,Django Templates,我有一个QuerySet,由product\uu name排序的GroupMembership对象,该对象作为groupu成员身份分配给我的模板GroupMembership对象有一个product和一个group字段,这两个字段都有一个name属性。在输出中,我希望在每次membership.product.name更改时呈现标题标记: <h1>First Product</h1> <p>One item</p> <p>Another
QuerySet
,由product\uu name
排序的GroupMembership
对象,该对象作为groupu成员身份分配给我的模板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>
第一个产品
一项
另一项
第二产品
第二产品中的第一项
我最初的想法是引入一个helper变量,在其中存储最后一个产品名,如果它与前一个不同(或为空),则呈现
行。然而,Django缺少{%assign%}
标记。有没有一种不引入自定义模板标记/上下文处理器的方法?或者我应该在视图中以某种方式进行分组,并将嵌套的dict
分配给我的模板?我不希望为此安装任何自定义应用。使用模板标签:
{% for membership in group_memberships %}
{% ifchanged %}
<h1>{{ membership.product.name }}</h1>
{% endifchanged %}
<p>{{ membership.group.name }}</p>
{% endif %}
{%用于组成员资格\u memberships%}
{%ifchanged%}
{{membership.product.name}
{%endifchanged%}
{{membership.group.name}
{%endif%}