使用循环值与列表进行比较

时间:2016-12-18 02:03:53

标签: django django-templates

我在列表中比较值

时遇到了一些问题

我们说我有一些值列表,例如[u' 1',u' 2',u' 3']

如果我在模板中写这样:

{% if "3" in selected_list %}

Checked

{% else %}
{% endif %}

然后它运作良好

但如果我尝试在循环中使用它,如:

{% for item in items %}

{% if item.id in selected_list %}
Checked
{% else %}
{% endif %}

{% endfor %}

然后失败了,它们没有将它们进行比较

1 个答案:

答案 0 :(得分:2)

您需要将其转换为字符串,因为您有字符串列表
或者您可以将列表中的项目转换为视图中的整数

selected_list = [int(item) for item in selected_list]  

然后它会起作用 附: u'8'代表unicode字符串
P.P.S忘记提及你的item.id是整数