JinjaJinja — рушій шаблонів для мови програмування Python створений Арміном Ронакером з ліцензією BSD. На відміну від схожого рушія шаблонів у Django, використовує вирази у стилі мови Python та використовує пісочницю для шаблонів. Завдяки тому, що шаблони Jinja засновані на текстовому форматі, тому створення розмітки документу стає подібним до написання сирцевого коду. Шаблони рушія Jinja надають можливості налаштування тегів,[4] фільтрів, тестів та глобальних параметрів.[5] Також, на відміну від рушія Django, Jinja дозволяє розробнику шаблонів викликати функції з об'єктами у якості аргументів. Jinja є основним рушієм шаблонів у Flask.[6] ВластивостіОсновні властивості Jinja:[7]
Jinja, подібно Smarty, має легку у використанні систему фільтрів подібно до конвеєра у Unix. ПрикладТут наведено невеличкий приклад файлу шаблону 'example.html.jinja'[8] <!DOCTYPE html>
<html>
<head>
<title>{{ variable|escape }}</title>
</head>
<body>
{%- for item in item_list %}
{{ item }}{% if not loop.last %},{% endif %}
{%- endfor %}
</body>
</html>
і код шаблону: from jinja2 import Template
with open('example.html.jinja') as f:
tmpl = Template(f.read())
print tmpl.render(
variable = 'Value with <unsafe> data',
item_list = [1, 2, 3, 4, 5, 6]
)
Він породжує наступний HTML код: <!DOCTYPE html>
<html>
<head>
<title>Value with <unsafe> data</title>
</head>
<body>
1,
2,
3,
4,
5,
6
</body>
</html>
Примітки
Джерела
|