Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
203 of 643 menu
◀ ▶

Тест mapping

Тест mapping применяется внутри шаблонов Jinja для проверки того, является ли переменная словарем или объектом, поддерживающим доступ по ключу. Тест возвращает True, если значение является mapping-объектом, и False в противном случае. Чаще всего используется в условиях if для выбора логики отображения данных.

Синтаксис

{% if value is mapping %} ... {% endif %}

Пример

Давайте проверим словарь и строку с помощью теста mapping:

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html', data={'a': 1}, text='abcde')

Шаблон для проверки:

<p>{{ data is mapping }}</p> <p>{{ text is mapping }}</p>

Результат выполнения кода:

<p>True</p> <p>False</p>

Пример

Давайте используем тест mapping в условии для вывода ключей словаря:

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html', res={'a': 1, 'b': 2})

Шаблон с условием:

{% if res is mapping %} {% for key in res %} <p>{{ key }}</p> {% endfor %} {% else %} <p>not a mapping</p> {% endif %}

Результат выполнения кода:

<p>a</p> <p>b</p>

Смотрите также

  • тест iterable,
    который проверяет, является ли значение итерируемым
  • тест sequence,
    который проверяет, является ли значение последовательностью
  • тест defined,
    который проверяет, определена ли переменная
  • тег if,
    который используется для ветвления в шаблонах
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить