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

Функция rebase

Функция rebase применяется внутри шаблона SimpleTemplate и указывает родительский шаблон, от которого наследуется текущий. Первым параметром передаётся имя родительского шаблона. Вместе с rebase используются теги block и end, которые определяют переопределяемые участки разметки.

Когда Bottle рендерит дочерний шаблон, он сначала подставляет в родительский шаблон содержимое всех блоков, определённых в дочернем шаблоне, а затем возвращает итоговый результат.

Синтаксис

% rebase('parent_template')

Пример

Давайте создадим родительский шаблон base.tpl с блоком content:

<!DOCTYPE html> <html> <head> <title>{{ title }}</title> </head> <body> % include('header.tpl') <div> % block content % end </div> </body> </html>

Теперь создадим дочерний шаблон page.tpl, который наследуется от base.tpl и переопределяет блок content:

% rebase('base.tpl', title='Article') % block content <p> article </p> % end

Давайте выведем дочерний шаблон из приложения Bottle:

from bottle import Bottle, template app = Bottle() @app.route('/') def index(): return template('page')

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

<!DOCTYPE html> <html> <head> <title>Article</title> </head> <body> <div> <p> article </p> </div> </body> </html>

Пример

Давайте передадим в дочерний шаблон переменные через родителя. Изменим файл page.tpl так, чтобы блок выводил значение переменной text:

% rebase('base.tpl', title='Article') % block content <p> {{ text }} </p> % end

Обновим обработчик, передав значение text в шаблон:

from bottle import Bottle, template app = Bottle() @app.route('/') def index(): return template('page', text='abcde')

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

<!DOCTYPE html> <html> <head> <title>Article</title> </head> <body> <div> <p> abcde </p> </div> </body> </html>

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

  • тег block,
    который определяет переопределяемый участок шаблона
  • тег end,
    который закрывает блоки и другие конструкции шаблона
  • функцию include,
    которая вставляет один шаблон внутрь другого
  • функцию template,
    которая рендерит шаблон и возвращает результат
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить