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