Тест number
Тест number применяется к значению в шаблоне
Jinja и возвращает True, если значение является
числом (целым или с плавающей точкой), и False
в противном случае. Тест удобно использовать в условиях
if для проверки типа данных перед выводом
или арифметическими операциями.
Синтаксис
{{ value is number }}
Пример
Давайте проверим целое число 123 и строку
'abcde':
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', num=123, text='abcde')
<p>{{ num is number }}</p>
<p>{{ text is number }}</p>
Результат выполнения кода:
<p>True</p>
<p>False</p>
Пример
Давайте проверим число с плавающей точкой
3.14 и логическое значение True:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', pi=3.14, flag=True)
<p>{{ pi is number }}</p>
<p>{{ flag is number }}</p>
Результат выполнения кода:
<p>True</p>
<p>False</p>
Пример
Давайте используем тест number в условии
if для выбора ветки вывода:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', value=42)
{% if value is number %}
<p>The value is a number: {{ value }}</p>
{% else %}
<p>The value is not a number</p>
{% endif %}
Результат выполнения кода:
<p>The value is a number: 42</p>