即使Django模板中满足条件,if语句也无法评估为true

时间:2019-05-22 16:06:16

标签: python django

我正在尝试检查字典键列表是否包含Django模板中的元素。我可以在列表中看到该元素,但是if语句返回false

{% if item in incart %}
  1
{% else %}
  0
{% endif %}

当我这样做

{{incart}}

它产生dict_keys(['1','2'])

{{item}}

显示2

但是当我运行上面的语句

{% if item in incart %}
  1
{% else %}
  0
{% endif %}

它返回0而不是1。

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

对不起,我没有提供足够的信息。 {{ item }}变量是Django request.session的键。它在文档中指出,会话密钥应该是字符串,除此以外的任何东西都不会正常运行https://docs.djangoproject.com/en/2.2/topics/http/sessions/#django.contrib.sessions.backends.base.SessionBase.clear。正如某些人正确指出的那样,我的错误在于我,我使用的是整数而不是字符串。

谢谢