<MyRusakov.ru />

Финансовая грамотность от А до Я

Финансовая грамотность от А до Я

Данный курс в кратчайшие сроки обучит Вас финансовой грамотности. Эти знания позволят Вам получить, как минимум, серьёзную финансовую стабильность, а, как максимум, финансовую независимость.

В рамках курса даётся большое количество практических заданий, благодаря которым Вы не просто посмотрите курс, а действительно выполните ряд важнейших шагов, о которых в нём говорится.

Помимо самого курса Вас ждёт ещё бесплатный ценный Бонус: «Ранний выход на пенсию». В рамках этого Бонуса Вы узнаете, какой должен быть капитал конкретно в Вашем случае, варианты его получения, а также какие есть стратегии вывода капитала на пенсии и где их можно протестировать.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Python шаблонизатор Jinja

Python шаблонизатор Jinja

Jinja - это движок шаблонов для Python. Он похож на движок шаблонов Django.

Механизм шаблонов Jinja или процессор шаблонов - это библиотека, предназначенная для объединения шаблонов с моделью данных с целью создания документов. Механизмы шаблонов часто используются для создания большого количества электронных писем, при предварительной обработке исходного кода или создании динамических HTML-страниц. И в сегодняшней статье мы реализуем данные примеры.

Мы создаем механизм шаблонов, в котором определяем статические и динамические детали. Динамические части позже заменяются данными. Функция визуализации позже объединяет шаблоны с данными.

И прежде чем перейти к примерам вспомним форматирование строк в Python.


site = "myrusakov"
domen = "ru"

"{0}.{1}".format(site,domen)

# вывод
myrusakov.ru

Аналогичная логика поддерживается и в Jinja.

Установка Jinja


>>pip3 install jinja

Разделители Jinja

Jinja использует различные разделители в строках шаблона.

{%%} - для выражений или логики (например, для циклов)

{{}} - используется для вывода результатов выражения или переменной конечному пользователю.

{##} - комментарии, которые не включены в выходные данные шаблона

### - операторы строки

Простой пример Jinja

# sample.py

# импорт объекта Template, для вычисления и подстановки шаблонов
from jinja2 import Template


site = "myrusakov"
domen = "ru"


tm = Template("My site name is {{ site }}.{{ domen }}")
msg = tm.render(site=site, domen=domen)

print(msg)

# запуск
>>> python sample.py

My site name is myrusakov.ru


В примере запрашивается имя пользователя и генерируется строка сообщения, которая выводится пользователю. Как мы уже сказали выше, механизм шаблонов аналогичен методу Python format(); но он более мощный и имеет гораздо больше возможностей.

В нашем шаблоне у нас есть синтаксис {{}}, который используется для печати переменной. Переменная передается в методе render().

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

Точно также можно работать и с объектами классов и словарей, просто указав нужные поля.

Сырые данные Jinja

Мы можем использовать маркеры raw-endraw, чтобы экранировать разделители Jinja.


from jinja2 import Template

data = '''
{% raw %}
His name is {{ name }}
{% endraw %}
'''

tm = Template(data)
msg = tm.render(name='Peter')

print(msg)

# вывод 
His name is {{ name }}

И конечно же всю мощь данного шаблонизатора можно увидеть в сочетании с таким web-фреймворком, как Flask.

Таким образом, мы рассмотрели язык шаблонов Jinja для Python и создали простой шаблон, аналогичный методу format.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.