IF ELSE в Django шаблонах
Общий синтаксис IF ELSE
условия следующий:
if condition:
do this
else:
do that
Синтаксис Python почти такой же, как псевдокод, написанный выше.
if 2 > 1:
print('condition is true')
else:
print('condition is false')
Синтаксис IF ELSE
для Django шаблона немного отличается. If
это встроенный тег в шаблонах Django:
{% if is_user_logged_in %}
Hello {{username}}
{% else %}
Hello
{% endif %}
Тег IF
оценивает переменную и переменная считается True
, если она существует и не является пустой (если эта переменная является любой итерируемой) и не является ложным логическим значением. Это означает, что мы можем использовать логическую переменную, список или набор с тегом IF
.
mylist = []
if mylist:
print("true")
else:
print("false")
напечатает false
.
Мы можем использовать несколько elif
с тегом IF
.
{% if user_type == "admin" %}
Welcome {{user}}
{% elif user_type == "developer" %}
Hello {{user}}
{% elif user_type == "QA" %}
Hi {{user}}
{% else %}
Greetings {{user}}
{% endif %}
Любая комбинация and
, or
и not
может быть использована. and
имеет более высокий приоритет, чем or
.
{% if condition_1 and condition_2 or condition_3 %}
Оператор in
может быть использован, как показано ниже.
{% if user in vip_user_list %}
Фильтры также могут быть использованы в IF
.
{% if message|length > 100 %}
View More
{% else %}
{{ message }}
{% endif %}