<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

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

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

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

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

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

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

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

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

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

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

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

Python шаблонизатор Jinja. Часть 2

Python шаблонизатор Jinja. Часть 2

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

И так, с помощью шаблонизатора можно формировать документы в зависимости от введенных данных. Тоже можно сделать и с помощью форматирования строки в Python. Но при всем своем сходстве, Jinja все же является отдельным фреймворком, имея более широкий набор возможностей. И давайте посмотрим на них.

Экранирование данных

Бывает что в html документе вместо тегов нужно вывести их html-сущности такие как < или >. В подобных случаях используется метод escape():



from jinja2 import Template, escape

string = '<a>Myrusakov</a>'

# Конструкция string | e  экранирует символы <>
tm = Template("{{ string | e}}")
msg = tm.render(string=string)

print(msg)

# Функция делает тоже самое
print(escape(data))

# вывод

&lt;a&gt;Myrusakov&lt;/a&gt;

Цикл for

Выражение for используется для итерации по набору данных в шаблоне.

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

Для демонстрации примера создадим файл с расширением .py


# script.py
from jinja2 import Environment, FileSystemLoader

# данные для вывода, в виде списка словарей
languages = [
    {'name': 'C', 'rating': 17}, 
    {'name': 'Java', 'rating': 11}, 
    {'name': 'Python', 'rating': 11}, 
    {'name': 'C++', 'rating': 7}, 
    {'name': 'C#', 'rating': 3}, 
    {'name': 'JavaScript', 'rating': 2}
]

# Для  корректного исполнения файла создаем папку 
# templates рядом со скриптом
file_loader = FileSystemLoader('templates')

env = Environment(loader=file_loader)

# Шаблон извлекается из каталога templates
# методом get_template
template = env.get_template('showlang.txt')

output = template.render(languages=languages)
print(output)


В файл showlang.txt помещаем:


{% for lang in languages -%}
    {{ lang.name }} {{ lang.rating }}
{% endfor %}

В файле шаблона мы используем выражение формы для перебора коллекции. Мы показываем название и рейтинг. Символ тире рядом с символами % используется для управления пробелами.

Результат:


# вывод

C           17
Java        11
Python      11
C++          7
C#           3
JavaScript   2

Таким образом, мы узнали как экранировать символы и подставлять данные в текстовый файл с Python и Jinja.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

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