【发布时间】:2015-05-09 07:08:49
【问题描述】:
如何在不使用模板标签的情况下在 django 模板中创建临时列表?
如果无法在 django 模板中创建临时列表,那么如何使用模板标签来修复以下场景?
简单的故事:我有一个名为 Info 的列表,它包含一堆重复的值,例如 ("hi","hello","hi","hello", “嘿”、“嘿”)。我想使用相同的列表 Info
在同一页面中显示一个 div 中的唯一值和另一个 div 中的所有值请注意:我在这里解释了简单的场景。所以你可能认为在 python 中使用 set 方法来防止重复值。在我的情况下不可能,我必须将一个对象发送到 django 模板
一个页面有两个div,应该显示来自同一个对象的不同信息。
第 1 部分:
{% for v in Info %}
{{v}} // Show unique values ("hi","hello","hej","hey")
{% endfor %}
第 2 部分:
{% for v in Info %}
{{v}} // Show all the values ("hi","hello","hi","hello","hej","hey")
{% endfor %}
请告诉我你的看法
【问题讨论】:
-
你不能发送两个对象作为模板的上下文吗? {'Info':信息,'unique_info':设置(信息)}
-
@srj:您好,官方回答是否定的,因为我给出了简单的例子。事实是,对象包含列表。列表长度超过 5000 且超过对象包含列表内的字典内的字典内的列表等等
-
如果是这种情况,那么自定义过滤器可能是您最好的选择。如果与您的复杂对象匹配,请查看
regroup标签。