Сообщить об ошибке.

Краткий обзор раздела: Модуль jinja2 в Python, язык шаблонов

Содержание с кратким описанием:

ОБЗОР: Модуль jinja2 в Python, язык шаблонов.
Модуль Jinja2 - это современный и удобный движок шаблонов для Python, созданный по образцу шаблонов Django. Он быстр, т.к. компилируется в код Python, широко используется и безопасен благодаря дополнительной среде выполнения изолированных шаблонов
Класс Environment() модуля jinja2 в Python.
Класс Environment() - среда окружения модуля jinja2 и является основным компонентом движка шаблонов. Среда окружения Environment содержит важные общие переменные, такие как конфигурация, фильтры, глобальные переменные и другие. Экземпляры этого класса могут быть изменены, если они не являются общи
Класс Template() модуля jinja2 в Python.
Класс Template() модуля jinja2 представляет собой центральный объект шаблона. Этот класс представляет собой скомпилированный шаблон и используется для его оценки. Обычно объект Template создается из jinja2.Environment, но eго также есть можно создать напрямую.
Класс Context() модуля jinja2 в Python.
Контекст шаблона jinja2.runtime.Context() содержит все переменные шаблона. В нем хранятся значения, переданные в шаблон, а также имена, которые экспортирует шаблон. Создание экземпляров Context не поддерживается, т.к. он создается автоматически на различных этапах оценки шаблона и не должен создава
Настройка экранирования в шаблонах Jinja в Python.
Функция select_autoescape() модуля jinja2 интеллектуально устанавливает начальное значение авто экранирования на основе имени файла шаблона. Это рекомендуемый способ настройки авто экранирования, если вы не хотите писать собственные функции самостоятельно.
Загрузчики шаблонов модуля jinja2 в Python.
Загрузчики шаблонов отвечают за загрузку шаблонов из ресурса, такого, например, как файловая система. Среда будет хранить скомпилированные модули в памяти, как sys.modules Python. Однако, в отличие от sys.modules, этот кэш по умолчанию ограничен по размеру, и шаблоны автоматически перезагружаются.
Класс Markup() модуля jinja2 в Python.
Класс Markup() модуля jinja2 возвращает строку, готовую к безопасной вставке в документ HTML или XML, т.к. она была экранирована или была помечена как безопасная. Чтобы экранировать простой текст, используйте вместо этого метод класса Markup.escape().
Внешнее кэширование байт-кода шаблонов модулем jinja2 в Python.
Модуль Jinja 2.1 и выше поддерживает внешнее кэширование байт-кода. Кэши байт-кода позволяют хранить сгенерированный байт-код в файловой системе или в другом месте, чтобы избежать синтаксического анализа шаблонов при первом использовании.
Встроенные фильтры модуля jinja2 в Python.
В разделе представлен список всех встроенных фильтров с их полным описанием и примерами использования в шаблонах jinja2.
Пользовательские фильтры для шаблонов jinja2 в Python.
Пользовательские фильтры для шаблонов jinja2 представляют собой обычные функции Python, которые принимают левую часть фильтра в качестве первого аргумента, а аргументы, передаваемые в сам фильтр служат дополнительными аргументами или ключевыми аргументами.
Встроенные и пользовательские тесты для jinja2 в Python.
Тесты работают примерно также как фильтры, различие в том, что у теста нет возможности получить доступ к среде Environment или контексту и что их нельзя связать цепочкой. Возвращаемое значение теста должно быть True или False.
Вспомогательные декораторы и функции модуля jinja2 в Python.
Приведенные в материале вспомогательные декораторы и функции модуля jinja2 полезны, если добавляются свои собственные фильтры или функции в среду Jinja.
Синтаксис шаблона jinja2 в Python.
Шаблон Jinja2 - это просто текстовый файл и не обязательно должен иметь конкретное расширение. Шаблон содержит переменные и/или выражения, которые заменяются значениями при визуализации шаблона, также применяются теги, управляющие логикой шаблона. Синтаксис шаблона во многом вдохновлен Django и Py
Наследование шаблонов jinja2 в Python.
Самая мощная часть модуля jinja2 - это наследование шаблонов. Наследование шаблонов позволяет создать базовый "скелетный" шаблон, который содержит все общие элементы сайта и определяет блоки {% block ... %}, которые "дочерние" шаблоны могут переопределить.
Циклы for/in в шаблонах jinja2 в Python.
Цикл for/in в шаблонах jinja2 необходимо располагать внутри блоков {% ... %}. Цикл шаблона имеет встроенный настраиваемый фильтр элементов последовательности.
Оператор if/elif/else в шаблонах jinja2 в Python.
Оператор if/elif/else в шаблонах Jinja2 сравним с оператором if/else в Python. В простейшей форме, можно использовать его, чтобы проверить, определена ли переменная, не пуста и не ложна. Для нескольких веток можно использовать elif и else, как в Python.
Что такое макросы шаблонов jinja2 в Python.
Макросы шаблонов Jinja2 сопоставимы с функциями в обычных языках программирования. Они полезны для того, чтобы поместить часто используемые идиомы в многоразовые функции, чтобы не повторяться.
Создание переменных в шаблонах jinja2 в Python.
Внутри блоков кода также можно присваивать значения переменным. Присвоение значений на верхнем уровне (за пределами блоков {% block ... %}, макросов {% macro ... %} или циклов {% for ... %}) экспортируются из шаблона, как макросы верхнего уровня, и могут быть импортированы с другими шаблонами.
Теги include и import в шаблонах jinja2 в Python.
Тег {% include ... %} полезен для включения шаблона и возврата визуализированного содержимого этого файла в текущее пространство имен.
Список helper шаблонов jinja2 в Python.
В материале рассмотрены различные помощники, определенные на глобальном уровне модуля jinja2, которые упрощают жизнь при работе с шаблонами.