Тест undefined
Тест undefined применяется в шаблонах Jinja для проверки того, что переменная не определена или отсутствует в контексте. Это особенно полезно, когда нужно отобразить значение по умолчанию или скрыть часть разметки при отсутствии данных. Тест возвращает True, если значение не определено, и False в противном случае.
Синтаксис
{% if value is undefined %}
...
{% endif %}
Пример
Давайте проверим переменную name, которая не была передана в шаблон:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
Шаблон для проверки:
{% if name is undefined %}
<p>Name is not defined</p>
{% else %}
<p>{{ name }}</p>
{% endif %}
Результат выполнения кода:
<p>Name is not defined</p>
Пример
Давайте передадим переменную name со значением 'abcde' и проверим условие:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', name='abcde')
Шаблон:
{% if name is undefined %}
<p>Name is not defined</p>
{% else %}
<p>{{ name }}</p>
{% endif %}
Результат выполнения кода:
<p>abcde</p>