Декоратор 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 шаблон