Переменная TEMPLATE_PATH
Переменная TEMPLATE_PATH хранит список путей к папкам,
в которых Bottle ищет файлы шаблонов. По умолчанию она
содержит текущую рабочую директорию и папку './views/'.
Когда вы вызываете функцию template и передаёте ей имя файла,
Bottle по очереди просматривает директории из этого списка
и использует первый найденный файл. Переменную можно
изменять, чтобы указать собственные каталоги с шаблонами.
Синтаксис
from bottle import TEMPLATE_PATH
TEMPLATE_PATH.insert(0, '/path/to/views/')
TEMPLATE_PATH.append('/path/to/other/views/')
Пример
Давайте добавим собственную директорию с шаблонами в начало списка поиска:
from bottle import Bottle, TEMPLATE_PATH, template
TEMPLATE_PATH.insert(0, './templates/')
app = Bottle()
@app.route('/')
def index():
return template('index')
Теперь при вызове template с именем 'index' Bottle
сначала поищет файл в папке './templates/'.
Пример
Давайте посмотрим содержимое списка по умолчанию:
from bottle import TEMPLATE_PATH
print(TEMPLATE_PATH)
Результат выполнения кода:
['./', './views/']
Пример
Давайте используем переменную TEMPLATE_PATH вместе
с шаблоном. Создадим файл шаблона 'index.tpl'
в папке './views/':
{{ message }}
<-html+>Теперь передадим данные в этот шаблон из приложения:
from bottle import Bottle, TEMPLATE_PATH, template
TEMPLATE_PATH.insert(0, './views/')
app = Bottle()
@app.route('/')
def index():
return template('index', message='hello')
Результат выполнения кода для адреса '/':
hello
<-html+>Смотрите также
-
функцию
template,
которая рендерит шаблон по имени файла -
функцию
view,
которая рендерит шаблон и возвращает результат маршрута -
класс
Jinja2Template,
который подключает шаблонизатор Jinja2 -
класс
MakoTemplate,
который подключает шаблонизатор Mako