form.tickets.value具有['29', '4', '7'] ticket_id的值,如5、3、7等。
现在,如果列表中有7,我想打印是的。但它总是说“不”。谁能告诉我为什么?
{% if ticket_id in form.tickets.value %}
YES
{% else %}
{{ ticket_id }} not in {{ form.tickets.value }}
{% endif %}

发布于 2018-11-09 13:34:19
在Python中,变量的类型很重要。您正在将整数与字符串列表进行比较。由于类型不同,的值将永远不相等(即使它们“看起来”相同)。
您可以将列表转换为整数列表,而不是字符串,也可以将要比较的整数转换为字符串。下面是后者的一个示例,使用Django的内置模板过滤器之一:
{% if ticket_id|stringformat:"s" in form.tickets.value %}https://stackoverflow.com/questions/53226590
复制相似问题