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

Метод template_global

Метод template_global применяется к объекту Blueprint и регистрирует переданную функцию в качестве глобальной переменной шаблонизатора Jinja. Это значит, что такая функция будет доступна во всех шаблонах, связанных с данным blueprint. Первым параметром можно передать имя функции в шаблонах, а вторым - саму функцию. Если имя не указано, используется атрибут __name__ функции.

Синтаксис

bp.template_global([name])

Пример

Давайте создадим blueprint и зарегистрируем глобальную функцию greet, которая принимает имя и возвращает приветствие:

from flask import Flask, Blueprint, render_template bp = Blueprint('bp', __name__) @bp.template_global() def greet(name): return 'hello ' + name app = Flask(__name__) app.register_blueprint(bp) @app.route('/') def index(): return render_template('index.html')

Теперь используем функцию greet в шаблоне:

<p>{{ greet('user') }}</p>

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

<p>hello user</p>

Пример

Давайте передадим первым параметром собственное имя функции в шаблонах:

from flask import Flask, Blueprint, render_template bp = Blueprint('bp', __name__) @bp.template_global('say_hi') def greet(name): return 'hello ' + name app = Flask(__name__) app.register_blueprint(bp) @app.route('/') def index(): return render_template('index.html')

Теперь в шаблоне функция доступна под именем say_hi:

<p>{{ say_hi('abcde') }}</p>

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

<p>hello abcde</p>

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

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