Spec-Zone.ru › Jinja 2.10

Введение

Это документация для языка шаблонизации общего назначения Jinja2. Jinja2 — это библиотека для Python, которая разработана для гибкости, скорости и безопасности.

Если у вас есть опыт работы с другими языками шаблонизации на основе текста, такими как Smarty или Django, вы почувствуете себя как дома с Jinja2. Он удобен как для дизайнеров, так и для разработчиков, придерживаясь принципов Python и добавляя функциональность, полезную для сред шаблонизации.

Предварительные требования

Jinja2 работает с Python 2.6.x, 2.7.x и >= 3.3. Если вы используете Python 3.2, вы можете использовать более старую версию Jinja2 (2.6), так как поддержка Python 3.2 была удалена в версии Jinja2 2.7.

Если вы хотите использовать класс PackageLoader, вам также потребуется установленный в runtime setuptools или distribute.

Установка

У вас есть несколько способов установить Jinja2. Если вы не уверены, что делать, воспользуйтесь Python egg или tarball.

В качестве Python egg (через easy_install)

Вы можете установить последнюю версию Jinja2 с помощью easy_install или pip:

easy_install Jinja2
pip install Jinja2

Это установит Jinja2 egg в каталог site-packages вашей установки Python.

Из выпуска tarball

  1. Загрузите последнюю версию tarball со страницы скачивания
  2. Распакуйте tarball
  3. python setup.py install

Обратите внимание, что вам необходимо установить либо setuptools , либо distribute; предпочтительнее второе.

Это установит Jinja2 в каталог site-packages вашей установки Python.

Установка версии разработки

  1. Установите git
  2. git clone git://github.com/pallets/jinja.git
  3. cd jinja2
  4. ln -s jinja2 /usr/lib/python2.X/site-packages

В качестве альтернативы шагу 4, вы также можете выполнить python setup.py develop, что установит пакет через distribute в режиме разработки. Это также имеет преимущество, что расширения C компилируются.

Зависимость MarkupSafe

Начиная с версии 2.7, Jinja2 зависит от модуля MarkupSafe. Если вы устанавливаете Jinja2 через pip или easy_install, он будет установлен автоматически.

Основное использование API

Этот раздел предоставляет краткое введение в использование Python API для шаблонов Jinja2.

Наиболее простой способ создать шаблон и отобразить его — использовать Template. Однако это не рекомендуемый способ работы с шаблонами, если они загружаются не из строк, а из файловой системы или другого источника данных:

>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
>>> template.render(name='John Doe')
u'Hello John Doe!'

Создав экземпляр Template, вы получаете новый объект шаблона, который предоставляет метод render(). При вызове с словарем или аргументами ключевого слова этот метод расширяет шаблон. Словарь или аргументы ключевого слова, передаваемые шаблону, являются так называемым «контекстом» шаблона.

Как вы можете видеть, Jinja2 использует в своей работе Unicode, а возвращаемое значение — строка Unicode. Поэтому убедитесь, что ваше приложение также использует Unicode.

Экспериментальная поддержка Python 3

Jinja 2.7 предоставляет экспериментальную поддержку Python >=3.3. Это означает, что все тесты пройдены в новой версии, но все же могут быть небольшие ошибки и несоответствия поведения. Если вы обнаружите какие-либо ошибки, пожалуйста, оставьте отзывы в следящем за ошибками репозитории Jinja.

Также имейте в виду, что эта документация написана с учетом Python 2, поэтому вам нужно будет адаптировать представленные примеры кода для синтаксиса Python 3.

© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://jinja.palletsprojects.com/en/2.10.x/intro/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API