Тестирование переменного равенства в веторе
Вопрос
В веточка, Есть ли простой способ проверить равенство 2 переменных?
{% if var1 = var2 %}
НЕПРАВИЛЬНО, {% if var1 is sameas(var2) %}
работает только в том случае, если оба - струны ...
(из DOCS) «Sameas проверяет, если переменные указывают на тот же адрес памяти, чем другая переменная», как это полезно.
Таким образом, единственный способ сравнения целых чисел, состоит в том, чтобы преобразовать их как на строки:
{% if var1|lower is sameas(var2|lower) %}
Решение
Насколько я знаю, ветка поддерживает все стандартные логические операторы ==, !=, <, >, >=, and <=.
Также ваш первый пример {% if var1 = var2 %}
не проверяет равенство, это присваивает var2
к var1
, вы можете изменить его на оператор сравнения ==
.
Веток sameas
встроенный тест, по сути, является строгим оператором сравнения типа ===
, следовательно, почему они оба должны быть строками в вашем примере.
Другие советы
Если вы сравниваете значение, которое имеет числовое значение, которое вы можете использовать:
{% if (psong.songid) ==(song.id) %}