Django, что это такое? Инструментальные средства

Курс по Django: https://stepik.org/a/183363

На этом занятии мы с вами узнаем, для чего нужен фреймворк Django, какие знания необходимы для начала его изучения и какие инструменты вам пригодятся для разработки сайтов на Django.

Но первый вопрос, почему именно Django? Наверное этих фреймворков пруд пруди и это действительно так. Однако именно Django завоевал огромную популярность благодаря простоте разработки даже очень сложных сайтов, например, таких как youtube, google search, dropbox и instagram:

Все они сделаны с использованием фреймворка Django. И давайте теперь разберемся, для чего он вообще нужен. Если очень кратко, то для обеспечения работы сайтов на стороне сервера. То есть, это инструмент для бэкенд разработчиков. А если немного подробнее, то процесс взаимодействия пользователя с сайтом можно представить следующим образом:

Сначала от клиента поступает запрос, например, он вводит в браузере адрес https://youtube.com. Информационные пакеты начинают двигаться в сторону сервера с сайтом Youtube. Вопрос о том, как они это делают, мы оставим в стороне, это называется маршрутизацией в сети Интернет. Главное, что они доходят до сервера (то есть, компьютера), где расположен Youtube. На этом компьютере установлено специальное программное обеспечение – Web-сервер. Очень часто используют уже готовые разработки с открытым кодом: Apache и Nginx. Реже какие-либо свои программные продукты. Так вот, этот Web-сервер постоянно «слушает» каналы связи и в момент поступления запроса от пользователя должен перенаправить его на обработку соответствующему сайту (так как на одном сервере может находиться множество сайтов). Сайты способны по-разному обрабатывать входящие запросы, например, используя PHP и CGI скрипты, или же могут использоваться фреймворки, значительно упрощающие обработку запросов от клиентов сайта. В частности, Django – это и есть такой фреймворк, значительно упрощающий написание скриптов на языке Python. А взаимодействие с сервером происходит по интерфейсу WSGI, который передает обработку запроса в Django. При этом отрабатывает определенное представление, отвечающее за текущий запрос, и результатом обработки, как правило, является HTML-страница, которая сначала передается Web-серверу также по WSGI-интерфейсу, а он уже передает страницу конечному пользователю. Страница отображается в браузере клиента и он видит заветный сайт Youtube. Вот так в очень упрощенном виде происходит взаимодействие между пользователем, сервером и фреймворком.

WSGI (Web Server Gateway Interface) — стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером.

Отлично, теперь мы знаем, где находится фреймворк и за что он отвечает. Но как нам в домашних условиях, в учебных целях или целях разработки проекта запустить Django? Здесь есть хорошая новость. Во-первых, во всех современных компьютерах функционирует внутренняя сеть, которая называется:

localhost – 127.0.0.1

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

Что нужно знать для изучения фреймворка Django

Если вы хотите во всех подробностях понимать работу фреймворка Django, то необходим следующий багаж знаний:

  • язык Python (в том числе и его ООП);
  • работа с шаблонами (например, пакет Jinja);
  • базовые знания работы с SQL-запросами.

Далее, на занятиях этого цикла я буду полагать, что вы хорошо знаете язык Python, основы работы с шаблонами и умеете понимать SQL-запросы. Обо всем этом я уже рассказывал на нашем канале и ссылки на соответствующие плейлисты вы найдете под этим видео.

Инструментальные средства

Какие инструменты нам потребуются для изучения фреймворка Django? Разумеется, сам язык Python, то есть, его интерпретатор. Откуда его можно скачать, как установить и использовать я уже рассказывал на курсе по Python. Вы должны все это уже хорошо знать. Все ссылки на ресурсы будут под этим видео.

https://www.python.org

Далее, я рекомендую установить интегрированную среду программирования PyCharm, разработанную специально для написания программ на Python. Она довольно удобна для разработки программ с использованием Django, поэтому все дальнейшие действия я буду показывать именно в PyCharm. Опять же, где ее можно скачать, как установить и работать, я уже рассказывал в курсе по Python и все ссылки на ресурсы смотрите под этим видео.

https://www.jetbrains.com/pycharm/

Для работы с файлами и каталогами, на мой взгляд, очень удобна программа Far Manager, которую можно установить под ОС Windows и Linux.

https://www.farmanager.com/download.php

Она гораздо удобнее проводника и предоставляет больше возможностей. Вообще, мое личное мнение, настоящий программист не должен использовать проводник или что-то подобное в своей работе. Это слишком ограниченный инструмент, подходящий, разве что для обычных пользователей, которым нужно скинуть на диск очередной фильм или игрушку. Но те, кто активно работает с файловой системой, должны применять более продвинутые инструменты вроде Far Manager или, в крайнем случае, Total Commander. Но его главный недостаток в том, что у него нет дистрибутива под Linux. А вот Far Manager вам будет служить верой и правдой на разных ОС и не придется дополнительно подстраиваться под новый интерфейс при переходе с одной ОС на другую.

На наших занятиях я буду использовать именно эти программы и некоторые дополнительные, о которых речь пойдет позже. Основной костяк – это PyCharm и Far Manager.

Надеюсь, теперь вы представляете себе, какую роль играет фреймворк Django, что нужно знать перед его изучением и какие программы вам пригодятся в этом курсе.

Курс по Django: https://stepik.org/a/183363

Видео по теме