【发布时间】:2012-08-24 17:25:10
【问题描述】:
只是一个简单的问题:有没有办法从 Django 模板语言的列表中删除一个项目?
我有一种情况,我正在遍历一个列表,并在另一个列表中打印第一个项目。打印完第一项后,我想将其从该列表中删除。
见下文:
{% for item in list1 %}
{{list2.0}}
#remove list2.0 from list2
{% endfor %}
提前致谢。
【问题讨论】:
-
您是否要遍历列表,不包括某些元素?如果是,您可以随时将
if语句放在for循环体中。 -
感谢康拉德,我刚刚编辑了一个示例,说明我正在尝试做的事情
-
我不会真正将逻辑放入您的模板中。此外,这是您正在显示的 list2 项目,同时遍历 list1;那是对的吗?我认为您可以在模板中使用
pop,前提是您的列表确实是一个列表,而不是查询集(否则,在您看来,请使用queryset = list(queryset)。然后,在您的模板中,尝试{{ list2.pop }}。我也不确定你是否可以为 pop 提供一个参数,类似于{{ list2.pop|forloop.counter }}。最后,你可以编写自己的pop标签来做到这一点。我可能会想出如果您愿意,可以使用一些代码。 -
感谢大家的努力,因为建议从 Django 模板语言的列表中删除项目不是一个好主意,我将寻找另一种解决方案,但对于任何人很好奇你确实可以使用 pop 来实现这一目标
标签: python django django-templates