РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
42 of 643 menu

Атрибут jinja_env

Атрибут jinja_env принадлежит экземпляру класса Flask и хранит объект окружения Jinja2. Через него можно настраивать фильтры, тесты, глобальные переменные и другие параметры шаблонизатора. Атрибут доступен только для чтения, но его внутреннее состояние можно изменять.

Синтаксис

app.jinja_env

Пример

Давайте добавим пользовательский фильтр в окружение Jinja через атрибут jinja_env:

from flask import Flask, render_template app = Flask(__name__) def double(value): return value * 2 app.jinja_env.filters['double'] = double @app.route('/') def index(): return render_template('index.html', num=5)

Файл шаблона:

<p>{{ num | double }}</p>

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

<p>10</p>

Пример

Давайте добавим глобальную переменную, доступную во всех шаблонах:

from flask import Flask, render_template app = Flask(__name__) app.jinja_env.globals['site_name'] = 'MySite' @app.route('/') def index(): return render_template('index.html')

Файл шаблона:

<h1>{{ site_name }}</h1>

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

<h1>MySite</h1>

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

  • метод template_filter,
    который регистрирует фильтр Jinja
  • метод template_global,
    который добавляет глобальную переменную
  • метод template_test,
    который регистрирует тест Jinja
  • атрибут template_folder,
    который задаёт папку с шаблонами
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить