Найти тему
WebDev

Шаблонизаторы в Python. Что это и с чем его едят?

Всем доброго времени суток!)

Сегодня, я хочу затронуть немало важную тему - шаблонизаторы, а в частности DTL (Django Template Language) . Расскажу что это такое, где используется и покажу парочку примеров.

Что это такое?

Расскажу на примере.

Представьте, что вам сказали сделать крупный интернет магазин. Вот вы придумали дизайн, и начали верстать главную страницу. Готово. У вас красивое меню, классный футер и в целом получилась крутая страница.

Но как быть с другими, если вы хотите придерживаться общего дизайна? Копировать код главной страницы и менять его? Тут на помощь приходят шаблоны.

Вы сверстали шаблон главной страницы и наследуете его.

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

Так например, на этой фотографии вы можете увидеть два таких блока. Первый находится в теге <title></title>. Синтаксис очень прост.

{% block title %}

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

{% endblock %}

И закрываем наш блок.

Давайте посмотрим на дочерний шаблон.

-2

Первое, что нам нужно сделать - это унаследовать шаблон. {% extends название родительского шаблона %}. Также мы создали в родительском шаблоне {% block content %}, который будем менять в дочерних.

Я создал модель постов и прокинул через вьюху в шаблон наши посты. В цикле {% for post in posts %}, мы итерируемся по нашим созданным постам.

Вывод

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

Спасибо за внимание!)

Наука
7 млн интересуются