Jinja (шаблонизатор)

редактировать
Jinja
Jinja software logo.svg
Оригинальный автор (ы) Армин Ронахер
Первоначальный выпуск17 июля 2008 г.; 12 лет назад (17.07.2008)
Стабильный выпуск 2.11.2 / 13 апреля 2020 г.; 6 месяцев назад (13.04.2020)
Репозиторий Измените это в Викиданных
Написано наPython
Тип Шаблон engine
Лицензия Лицензия BSD
Веб-сайтpalletsprojects.com / p / jinja / Измените в Викиданных

Jinja - это движок веб-шаблонов для языка программирования Python. Он был создан Армином Ронахером и находится под лицензией BSD License. Jinja похож на механизм шаблонов Django, но предоставляет выражения, подобные Python, при этом гарантируя, что шаблоны оцениваются в песочнице. Это текстовый язык шаблонов, поэтому его можно использовать для создания любой разметки, а также исходного кода.

Шаблонизатор Jinja позволяет настраивать теги, фильтры, тесты и глобальные переменные. Кроме того, в отличие от механизма шаблонов Django, Jinja позволяет конструктору шаблонов вызывать функции с аргументами для объектов. Jinja - это шаблонизатор по умолчанию для Flask, он также используется в Ansible и Trac.

Содержание
  • 1 Возможности
  • 2 Пример
  • 3 Источники
  • 4 Внешние ссылки
Возможности

Некоторые из особенностей Jinja:

  • выполнение в песочнице
  • автоматическое экранирование HTML для предотвращения межсайтовые сценарии (XSS) атаки
  • наследование шаблона
  • компилируется до оптимального кода Python точно в срок
  • необязательный предварительный шаблон компиляция
  • легко отлаживать (например, номера строк исключений напрямую указывают на правильную строку в шаблоне)
  • настраиваемый синтаксис

Jinja, например Smarty, также поставляется с простой в использовании системой фильтрации, аналогичной Unix pipeline.

Example

Вот небольшой пример файла шаблона example.html.jinja:

{{variable | escape}}{% - для элемента в item_list%} {{item}} {% if not loop.last%}, {% endif%} {% - endfor%}

и код шаблона:

из jinja2 Immo rt Шаблон с open ('example.html.jinja') как f: tmpl = Template (f.read ()) print tmpl.render (variable = 'Значение с данными', item_list = [1, 2, 3, 4, 5, 6])

Результатом будет строка HTML:

Значение с данными <unsafe>1, 2, 3, 4, 5, 6
Источники
Внешние ссылки
Последняя правка сделана 2021-05-24 10:21:43
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте