Python 比较Django模板中两个列表的对应元素

Python 比较Django模板中两个列表的对应元素,python,python-3.x,django,list,django-templates,Python,Python 3.x,Django,List,Django Templates,我有两个大小相同的列表,如下所示: change_list = ['none', 'M', 'D', 'none] print_list = ['examples', 'app.py', 'list.fr', 'template'] 我通过视图传递它们,我需要知道第一个列表上的值,这样我就可以根据第一个列表上的内容以不同的颜色显示第二个列表的元素。 例如,由于第一个列表中的“M”,我需要在模板中将“app.py”显示为橙色 我到处找了找,不知道怎么做。我试图将列表的len作为一个范围传递给视

我有两个大小相同的列表,如下所示:

change_list = ['none', 'M', 'D', 'none]

print_list = ['examples', 'app.py', 'list.fr', 'template']
我通过视图传递它们,我需要知道第一个列表上的值,这样我就可以根据第一个列表上的内容以不同的颜色显示第二个列表的元素。 例如,由于第一个列表中的“M”,我需要在模板中将“app.py”显示为橙色

我到处找了找,不知道怎么做。我试图将列表的len作为一个范围传递给视图,如下所示:

{% for i in len%}
    {% if changes_list.i == "M" %}
        <p style="color:orange;"> {{print_list.i}}</p>
    {% endif %}
{% endfor %}
{len%中的i的%
{%if changes_list.i==“M”%}

{{print_list.i}

{%endif%} {%endfor%}
但它不起作用

我不确定我是否正确地表述了这个问题,但我不确定如何解释这个问题


提前谢谢你。

我会像下面这样试一试。警告,未测试代码;)

在你看来:

change_list = ['none', 'M', 'D', 'none']
print_list = ['examples', 'app.py', 'list.fr', 'template']
template_list = list(zip(change_list, print_list))
您只需将模板列表传递给模板

在模板中:

{% for i in template_list%}
    {% if i.0 == "M" %}
        <p style="color:orange;"> {{i.1}}</p>
    {% endif %}
{% endfor %}
{template_list%中的i的%
{%如果i.0==“M”%}

{{i.1}

{%endif%} {%endfor%}
你应该表现得很好


请注意,在视图中,我使用list()aroud zip(),因为我不知道zip对象是否可以在Django模板中工作。不用它就可以自由测试。

我会像下面这样试一试。警告,未测试代码;)

在你看来:

change_list = ['none', 'M', 'D', 'none']
print_list = ['examples', 'app.py', 'list.fr', 'template']
template_list = list(zip(change_list, print_list))
您只需将模板列表传递给模板

在模板中:

{% for i in template_list%}
    {% if i.0 == "M" %}
        <p style="color:orange;"> {{i.1}}</p>
    {% endif %}
{% endfor %}
{template_list%中的i的%
{%如果i.0==“M”%}

{{i.1}

{%endif%} {%endfor%}
你应该表现得很好

请注意,在视图中,我使用list()aroud zip(),因为我不知道zip对象是否可以在Django模板中工作。不用它就可以进行测试。

您的语法已关闭

以下是一个简单的解决方案:

我们在列表中循环并检查i是否等于“M”

{%for i in change_list%}
{%如果i==“M”%}
我

{%else%} I不==M

{%endif%} {%endfor%}
如果要比较这两个列表:

{% for i in change_list %}
    {% for x in print_list %}
      {% if i == x %}
       <p>I</p>
      {% else %}
        <p>I Not == X</p>
      {% endif %}
  {% endfor %}
{% endfor %}
{%for i in change_list%}
{打印列表%中x的百分比}
{%i==x%}
我

{%else%} I不=X

{%endif%} {%endfor%} {%endfor%}
您的语法已关闭

以下是一个简单的解决方案:

我们在列表中循环并检查i是否等于“M”

{%for i in change_list%}
{%如果i==“M”%}
我

{%else%} I不==M

{%endif%} {%endfor%}
如果要比较这两个列表:

{% for i in change_list %}
    {% for x in print_list %}
      {% if i == x %}
       <p>I</p>
      {% else %}
        <p>I Not == X</p>
      {% endif %}
  {% endfor %}
{% endfor %}
{%for i in change_list%}
{打印列表%中x的百分比}
{%i==x%}
我

{%else%} I不=X

{%endif%} {%endfor%} {%endfor%}
您想要的是根据更改列表中的相应项目(相同索引)格式化打印列表中的项目?如果是,请在下面检查我的答案。你的答案是正确的!非常感谢。为了清楚起见,您应该将标题改为“比较Django模板中两个列表的对应元素”。不完美,但有助于将来搜索同一问题。您需要的是根据更改列表中的相应项目(相同索引)设置打印列表中的项目格式?如果是,请在下面检查我的答案。你的答案是正确的!非常感谢。为了清楚起见,您应该将标题改为“比较Django模板中两个列表的对应元素”。不是很完美,但会帮助以后搜索相同的问题。谢谢!这正是我要找的!zip对象也可以与Django模板一起使用。很高兴它有帮助。感谢您返回zip对象。谢谢!这正是我要找的!zip对象也可以与Django模板一起使用。很高兴它有帮助。感谢您返回zip对象。这可能是因为我对标题的措辞,但这不是我想要的。公认的答案解决了我的问题。无论如何,谢谢你的贡献!这可能是因为我如何措辞的标题,但这不是我想要的。公认的答案解决了我的问题。无论如何,谢谢你的贡献!