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

Декоратор mako_view

Декоратор mako_view применяется к функции-обработчику маршрута. Первым параметром передаётся имя Mako шаблона, который будет отрендерен. Словарь, возвращённый функцией, передаётся в шаблон как контекст. Декоратор сам вызывает функцию, рендерит шаблон и возвращает готовый HTML-ответ.

Для использования декоратора необходимо установить библиотеку Mako и подключить плагин MakoTemplate.

Синтаксис

@mako_view(tpl_name)

Пример

Давайте создадим приложение с Mako шаблоном и повесим обработчик через декоратор mako_view:

from bottle import Bottle, mako_view app = Bottle() @app.route('/') @mako_view('index') def index(): return {'title': 'hello'}

Файл шаблона index.tpl:

<h1>${title}</h1>

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

<h1>hello</h1>

Пример

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

from bottle import Bottle, mako_view app = Bottle() @app.route('/user/<name>') @mako_view('user') def user(name): return {'name': name, 'items': ['a', 'b', 'c']}

Файл шаблона user.tpl:

<p>${name}</p> % for item in items: <span>${item}</span> % endfor

Результат выполнения кода для адреса /user/abcde:

<p>abcde</p> <span>a</span> <span>b</span> <span>c</span>

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

  • декоратор mako_template,
    который рендерит Mako шаблон и возвращает результат
  • декоратор view,
    который связывает обработчик с SimpleTemplate шаблоном
  • декоратор jinja2_view,
    который связывает обработчик с Jinja2 шаблоном
  • класс MakoTemplate,
    который представляет собой Mako шаблон
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить