首页 > 解决方案 > 即使在 django 模板中满足条件,if 语句也无法评估为 true

问题描述

我正在尝试检查字典键列表是否包含 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。

我做错了什么?

标签: pythondjango

解决方案


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

谢谢


推荐阅读