Выбор ответа Junior Django: устройство спрашивают часто обновлено

Жизненный цикл запроса в Django

Вопрос

В каком порядке Django обрабатывает входящий запрос?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Middleware (сверху вниз) - резолвер - вьюха - middleware. Запрос сначала проходит слои middleware из MIDDLEWARE по порядку, затем резолвер находит вьюху по urlpatterns, вьюха возвращает ответ, и он проходит middleware в обратном порядке.

Варианты ответа

  1. URL-резолвер -> middleware -> вьюха -> шаблон
  2. Вьюха -> URL-резолвер -> middleware (снизу вверх)
  3. Middleware (сверху вниз) -> резолвер -> вьюха -> middlewareправильный ответ
  4. Middleware -> вьюха -> URL-резолвер -> обработчик ошибок

Разбор

Запрос сначала проходит слои middleware из MIDDLEWARE по порядку, затем резолвер находит вьюху по urlpatterns, вьюха возвращает ответ, и он проходит middleware в обратном порядке. Middleware стоят до роутинга, поэтому могут, например, вернуть ответ сразу, не доходя до вьюхи (редирект на HTTPS, отказ в доступе).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.