Язык программирования Python

Курс IT-Академии Сухорукова

Январь-март 2019

Этот курс закончился

Как работает Django

  1. Веб-сервер получает HTTP-запрос от посетителя. Django не содержит полноценного веб-сервера и предполагается, что будет задействована какая-то программа-веб-сервер или WSGI-сервер (Apache, nginx, LightHTTPd, Caddy, uWSGI и так далее).
  2. Веб-сервер передаёт запрос Django через точку входа.
  3. Django создаёт объект HTTPRequest и пропускает его через цепочку Middleware.
  4. Django просматривает urlconf и ищет представление, которое способно обработать запрос. Если его нет, возвращается ошибка HTTP 404 Not Found.
  5. Django запускает найденное представление, передавая ему Request и параметры из адреса.
  6. Представление взаимодействует с хранилищем данных (через модели), выполняет какие-то (любые) действия, читает/записывает файлы, и вообще делает то, для чего предназначено. В результате представление должно сформировать HTTP-ответ. Очень часто для этого применяеются шаблоны HTML-файлов, чтобы не создавать веб-страницу с нуля, а использовать готовые фрагменты.
  7. Django пропускает созданный представлением ответ через цепочку Middleware.
  8. Ответ отдаётся веб-серверу, а тот, в свою очередь, передаёт ответ посетителю.

Схема работы Django

Зелёным отмечены блоки, которые пишет разработчик. Всё остальное — это готовые компоненты Django.