Руководство по Python Bottle (Перевод) Часть 6 - Templates (о Шаблонах)

Python

В предыдущей части (Руководство по Python Bottle (Перевод) Часть 5 — Request Data (данные в запросе)) мы рассмотрели основные аспекты относящиеся к передаваемым данным в запросах, в этой части мы вкратце рассмотрим использование шаблонов.

Bottle имеет быстрый и мощный встроенный механизм шаблонов, который называется SimpleTemplate Engine. Для рендеринга шаблона вы можете использовать функцию template() или декоратор view(). Все, что вам нужно сделать, это предоставить имя шаблона и переменные, которые вы хотите передать шаблону в качестве аргументов. Вот простой пример того, как обратиться к шаблону:

@route('/hello')
@route('/hello/<name>')
def hello(name='World'):
    return template('hello_template', name=name)


Данный код загрузит файл шаблона hello_template.tpl и отобразит его с установленной переменной name. Bottle будет искать шаблоны в папке ./views/ или в любой папке, указанной в списке bottle.TEMPLATE_PATH.

Декоратор view() позволяет вам возвращать словарь с переменными шаблона вместо вызова template():

@route('/hello')
@route('/hello/<name>')
@view('hello_template')
def hello(name='World'):
    return dict(name=name)


Синтаксис (Syntax)


Синтаксис шаблона представляет собой очень небольшую обертку вокруг языка Python. Его основная цель — обеспечить правильное отступление блоков, чтобы вы могли отформатировать шаблон, не беспокоясь об отступах. Полное описание синтаксиса: SimpleTemplate Engine (На английском, возможно в будущем переведу. :) )

Вот пример шаблона:

%if name == 'Мир':
    <h1>Привет {{name}}!</h1>
    <p>Это тест.</p>
%else:
    <h1>Привет {{name.title()}}!</h1>
    <p>Как дела?</p>
%end


Кэширование (Caching)


Шаблоны кэшируются в памяти после компиляции. Изменения, внесенные в файлы шаблона, не будут влиять, пока вы не очистите кэш шаблона. Для этого необходимо вызвать bottle.TEMPLATES.clear(). Кеширование отключено в режиме отладки.

Продолжение следует…

Python templates bottle перевод

Комментарии:

jago 08 May 2019, 01:04 0 0

благодарю за проделанную работу. Прошу продолжать

Ответить
Roman 08 May 2019, 03:07 0 0

Спасибо, обязательно продолжу.

Ответить
Руководство по Python Bottle (Перевод) Часть 5 - Request Data (данные в запросе)

В предыдущей части (Руководство по Python Bottle (Перевод) Часть 4 — Создание контента) мы рассмотре (читать далее...)

110  
Руководство по Python Bottle (Перевод) Часть 3 - Маршрутизация запросов

В предыдущей части (Руководство по Python Bottle (Перевод) Часть 2 — Hello World) мы создали простое (читать далее...)

99  
Руководство по Python Bottle (Перевод) Часть 4 - Создание контента

В предыдущей части (Руководство по Python Bottle (Перевод) Часть 3 — Маршрутизация запросов) мы расс (читать далее...)

96  
Руководство по Python Bottle (Перевод) Часть 1 - Установка

Это руководство познакомит вас с концепциями и возможностями фреймворка Bottle. Данное руководство м (читать далее...)

85  
Руководство по Python Bottle (Перевод) Часть 2 - Hello World

В предыдущей части мы рассмотрели установку Bottle: Руководство по Python Bottle (Перевод) Часть 1 — (читать далее...)

74