Jinja (произносится как дзиндзя) — это шаблонизатор для языка программирования Python. Он подобен шаблонизатору Django, но предоставляет Python-подобные выражения, обеспечивая исполнение шаблонов в песочнице. Это текстовый шаблонизатор, поэтому он может быть использован для создания любого вида разметки, а также исходного кода. Лицензирован под лицензией BSD.
Шаблонизатор Jinja позволяет настраивать теги[2], фильтры, тесты и глобальные переменные[3]. В отличие от шаблонизатора Django, Jinja позволяет конструктору шаблонов вызывать функции с аргументами на объектах.
Jinja, как и Smarty, также поставляется с простой в использовании системой фильтров, похожей на конвейер Unix.
Пример
Простой пример шаблона:
from jinja importfrom_stringtmpl=from_string('''\{{ variable|escape }} {% for item in item_list %} {{ item }}{% if not loop.last %},{% endif %}{% endfor %}''')print(tmpl.render(variable='Value with data' ,item_list=[1,2,3,4,5,6]))Результат в HTML:
<html><head><title>Value with <unsafe> datatitle>head><body> 1, 2, 3, 4, 5, 6 body>html>Применение
Помимо веб-фреймворков (Flask), Jinja2 используется и, например, в системе управления конфигурациямиSaltStack[4] и Ansible.
Примечания
- ↑Jinja2 Release History. Дата обращения: 24 июня 2020.
- ↑Extensions — Jinja2 2.7-dev documentation. Дата обращения: 27 января 2012. Архивировано из оригинала 30 сентября 2010 года.
- ↑Extensions — Jinja2 2.7-dev documentation. Дата обращения: 27 января 2012. Архивировано из оригинала 30 сентября 2010 года.
- ↑Colton Myers.Chapter 5. Expanding Our States with Jinja2 and Pillar // Learning SaltStack. — Packt Publishing, 2015. — 174 p. — ISBN 978-1-78439-901-6.
Литература
- Cunningham, K. Python in 24 Hours, Sams Teach Yourself. — Pearson Education, 2013. — 320 p. — ISBN 9780133354461.