Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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 Django:如何在不使用模板标记的情况下在Django模板中创建临时列表?_Python_Django - Fatal编程技术网

Python Django:如何在不使用模板标记的情况下在Django模板中创建临时列表?

Python Django:如何在不使用模板标记的情况下在Django模板中创建临时列表?,python,django,Python,Django,如何在django模板中创建临时列表而不使用模板标记 如果无法在django模板中创建临时列表,那么如何使用模板标记修复以下场景 简单的故事:我有一个名为Info的列表它包含大量重复的值,例如(“hi”、“hello”、“hi”、“hello”、“hej”、“hey”)。我想使用相同的列表Info 请注意:我已经在这里解释了简单的场景。因此,您可能认为在python中使用set方法可以防止重复值。在我的例子中不可能,我必须向django模板发送一个对象 在一个页面中有两个div,它应该显示来自同

如何在django模板中创建临时列表而不使用模板标记

如果无法在django模板中创建临时列表,那么如何使用模板标记修复以下场景

简单的故事:我有一个名为Info的列表它包含大量重复的值,例如(“hi”、“hello”、“hi”、“hello”、“hej”、“hey”)。我想使用相同的列表Info

请注意:我已经在这里解释了简单的场景。因此,您可能认为在python中使用set方法可以防止重复值。在我的例子中不可能,我必须向django模板发送一个对象

在一个页面中有两个div,它应该显示来自同一对象的不同信息。

div1:

{% for v in Info %}
       {{v}} // Show unique values ("hi","hello","hej","hey")            
{% endfor %}
{% for v in Info %}
           {{v}} // Show all the values  ("hi","hello","hi","hello","hej","hey")             
 {% endfor %}
DIV 2:

{% for v in Info %}
       {{v}} // Show unique values ("hi","hello","hej","hey")            
{% endfor %}
{% for v in Info %}
           {{v}} // Show all the values  ("hi","hello","hi","hello","hej","hey")             
 {% endfor %}
请使用自定义筛选器让我知道您的视图

@register.filter(name='unique')
def unique(value, arg):
    # put your complex unique logic here
    return set(value)
提及

将其用作
{%forv-in-Info | unique%}{{v}{%endfor%}

请注意,调用set将打乱列表的顺序

您不能发送两个对象作为模板的上下文吗?{'Info':Info,'unique_Info':set(Info)}@srj:Hi,官方答案是否定的,因为我给出了一个简单的例子。事实是,对象包含列表。列表长度超过5000,并且对象中包含的列表在dict inside dict inside list等etcif中超过5000。如果是这样的话,那么定制过滤器可能是最好的选择。看看
重新组合
标记,看它是否与您的复杂对象匹配。您好,我无法在此空间中表达问题。我再次感到抱歉。我将结束这个问题,并提出一个新的问题和确切的问题。为了你们的工作,我已经给出了你们的答案。我在这里发布了新的问题,请看一下,让我知道你们的观点