Всем хай, сегодня мы поговорим о том, как уменьшить количество HTML CSS кода в сайте на Flask. Будем мы пользоваться возможностями шаблонизатора jinja2, который встроен в наш любимый Flask.
Начнём с того, что я сделаю тестовый стенд и расскажу как это работает. Для вас это займёт даже меньше секунды.
На этих двух страницах отличается только блок с контентом, а блоки Header footer абсолютно одинаковые. Посмотрим на код python что-ли?
Код сервера не отличается ничем от обычного сервера с двумя страницами, всё дело в том, что это делается в html файлах. Их в данном случае три. Сначала глянем самый главный.
Вроде бы классический html но что-то тут не так, не думаете? Самые внимательные заметят что тут странно выглядят именно те части, которые меняются на страницах. Ну а не очень внимательные заметят только то, что содержимое title и main выглядит странно.
Эти конструкции используются для того, чтобы обозначить места, куда будут вставляться блоки, которые как раз и меняются. Это файл есть база. base.html
Но где же блоки, которые выводятся на страницах? А вот они же как раз на своих местах. Файлы home.html и hello.html, которые указаны как шаблоны для рендера в фласк сервере мы сейчам и посмотрим.
Сначала мы в обоих файлах определяем файл, в который будет вставлено содержимое блоков, идущих дальше. Эти блоки заполнены содержимым, которое вставляется в base.html и потом целый файл идёт к клиенту.
Это собсна всё. Но тут ещё можно сделать цикл for, сделать что-то с if. Цикл for я сейчас покажу.
Тут каждую итерацию добавляется элемент списка. Вот как это выглядит на странице:
Работает. Ура!
На этом я прощаюсь с вами. Эта статья кажется получилась скудной и не очень вообще. пишу вечером и не особое желание писать было. Штош всем до встречи. Спасибо тем, кто читает мой щитпост.