Тест sequence
Тест sequence применяется к значению в шаблоне Jinja
и возвращает True, если значение является последовательностью.
Последовательностью считаются строки, списки и кортежи.
Словари и числа последовательностями не являются.
Тест удобно использовать в условиях if
для проверки типа данных перед перебором.
Синтаксис
{% if value is sequence %}
...
{% endif %}
Пример
Давайте проверим список на то, является ли он последовательностью:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', arr=['a', 'b', 'c'])
Вот шаблон:
{% if arr is sequence %}
<p>sequence</p>
{% else %}
<p>not sequence</p>
{% endif %}
Результат выполнения кода:
<p>sequence</p>
Пример
Давайте проверим строку на то, является ли она последовательностью:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', text='abcde')
Вот шаблон:
{% if text is sequence %}
<p>sequence</p>
{% else %}
<p>not sequence</p>
{% endif %}
Результат выполнения кода:
<p>sequence</p>
Пример
Давайте проверим число на то, является ли оно последовательностью:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', num=123)
Вот шаблон:
{% if num is sequence %}
<p>sequence</p>
{% else %}
<p>not sequence</p>
{% endif %}
Результат выполнения кода:
<p>not sequence</p>
Пример
Давайте проверим словарь на то, является ли он последовательностью:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', data={'a': 1, 'b': 2})
Вот шаблон:
{% if data is sequence %}
<p>sequence</p>
{% else %}
<p>not sequence</p>
{% endif %}
Результат выполнения кода:
<p>not sequence</p>