Введение
Jinja — это быстрый, выразительный и расширяемый движок шаблонов. Специальные плейсхолдеры в шаблоне позволяют писать код, похожий на синтаксис Python. Затем шаблон передаётся данным для рендеринга конечного документа.
Он включает:
- Наследование и включение шаблонов.
- Определение и импорт макросов внутри шаблонов.
- Шаблоны HTML могут использовать автоматическую экранизацию для предотвращения XSS от ненадежных данных пользователя.
- Песочница (sandboxed environment) может безопасно рендерить ненадежные шаблоны.
- Поддержка асинхронности для генерации шаблонов, которые автоматически обрабатывают синхронные и асинхронные функции без дополнительного синтаксиса.
- Поддержка I18N с Babel.
- Шаблоны компилируются в оптимизированный код Python в режиме реального времени и кэшируются, либо могут быть скомпилированы заранее.
- Исключения указывают на правильную строку в шаблоне для облегчения отладки.
- Расширяемые фильтры, тесты, функции и даже синтаксис.
Философия Jinja заключается в том, что, если возможно, логика приложения должна принадлежать Python, но не должна слишком сильно ограничивать функциональность разработчика шаблонов.
Установка
Мы рекомендуем использовать последнюю версию Python. Jinja поддерживает Python 3.7 и более поздние версии. Мы также рекомендуем использовать виртуальную среду для изоляции зависимостей вашего проекта от других проектов и системы.
Установите последнюю версию Jinja с помощью pip:
$ pip install Jinja2
Зависимости
Они будут установлены автоматически при установке Jinja.
- MarkupSafe экранирует ненадежные данные при рендеринге шаблонов, чтобы избежать атак с внедрением кода.
Дополнительные зависимости
Эти пакеты не будут установлены автоматически.
- Babel обеспечивает поддержку перевода в шаблонах.
© 2007–2021 Pallets
Licensed under the BSD 3-clause License.
https://jinja.palletsprojects.com/en/3.1.x/intro/