если утверждение не может быть оценено как истинное, даже если условие выполнено в шаблоне django - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь проверить, содержит ли список ключей словаря элемент в шаблоне 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 голосов
/ 22 мая 2019

Простите, ребята, я не предоставил достаточно информации. Переменная {{ item }} является ключом из request.session Джанго. В документации говорится, что ключи сеанса должны быть строками, и что-либо, кроме этого, не будет вести себя должным образом https://docs.djangoproject.com/en/2.2/topics/http/sessions/#django.contrib.sessions.backends.base.SessionBase.clear. Ошибка была с моей стороны, я использовал целое число вместо строки, как справедливо указали некоторые люди.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...