Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查成员值是否与上一次迭代中的不同_Python_Django_Django Templates - Fatal编程技术网

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%}