Django, приятно познакомиться.
Django – очень мощный, обширный и, наверное, один из самых популярных веб-фреймворков современности. Развивался, как open-source проект, был назван в честь джазового гитариста Джанго Рейнхардта и получил релиз в 2005 году. Данный фреймворк дает очень широкие и гибкие возможности для проектирования веб-проектов различной сложности.
Если очень кратко описать основную суть Django, то, на мой взгляд, это будет выглядеть следующим образом. Django имеет такую структуру проектирования, которая позволяет разграничить зоны ответственности фронтенда и бэкенда, и эффективно взаимодействовать в рамках классической концепции MVC (Model, View, Controller) или, в случае с самим Django – MVT (Model, View, Template). Иными словами, дизайнер и программист больше не мешают друг другу. Бэкенд логика не перемешана с элементами верстки страницы, как, например, в PHP.
Если описывать очень просто, то механизм работы следующий. Данные запроса от клиента-пользователя (request) идут, как по конвейеру: обрабатывается адрес (url), затем подставляется необходимое представление для данного url. Непосредственно представление (view) несет в себе саму логику бэкенда, которая взаимодействует с базой данных посредством моделей (models) и выводит результат, подставляя полученные данные в шаблон (template) для отрисовки в браузере клиента.
Все это, конечно же, взаимодействует по “клиент – серверной” модели, используя HTTP протокол.
Разработка проекта на Django концептуально основывается на принципе DRY (Don’t repeat yourself), что означает, не повторяй, то что уже есть, и сравнимо со строительством из компонентов, как из кубиков. А этих «кубиков» сам фреймворк имеет огромное множество в виде подключаемых модулей и библиотек.
Также, стоит еще отметить встроенный механизм ORM (Object, Relating, Mapping). Данный API позволяет, как бы, наложить или связать сущности языка программирования (в данном случае Python) с логикой базы данных (PostgreSQL, MySQL, SQLite и Oracle). Таким образом, механизм ORM заключает в себе процесс наложения полей models в Django с полями БД, совмещая это с логикой работы самой базы данных. Вся механика взаимодействия с БД скрыта “под капотом” models в Django.
Данный веб-фреймворк может использоваться со множеством сторонних приложений, в зависимости от целей и потребностей разрабатываемого проекта. За время своего существования, Django постоянно совершенствуется и изменяется. На момент написания данной статьи, Django считается лучшим фреймворком, написанным на Python для веб-разработки, который должен стать обязательным к изучению всем веб-разработчикам, начинающим и не только.