Выбор ответа Junior Django: устройство спрашивают часто обновлено
Жизненный цикл запроса в Django
Вопрос
В каком порядке Django обрабатывает входящий запрос?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Middleware (сверху вниз) - резолвер - вьюха - middleware. Запрос сначала проходит слои middleware из MIDDLEWARE по порядку, затем резолвер находит вьюху по urlpatterns, вьюха возвращает ответ, и он проходит middleware в обратном порядке.
Варианты ответа
- URL-резолвер -> middleware -> вьюха -> шаблон
- Вьюха -> URL-резолвер -> middleware (снизу вверх)
- Middleware (сверху вниз) -> резолвер -> вьюха -> middlewareправильный ответ
- Middleware -> вьюха -> URL-резолвер -> обработчик ошибок
Разбор
Запрос сначала проходит слои middleware из MIDDLEWARE по порядку, затем резолвер находит вьюху по urlpatterns, вьюха возвращает ответ, и он проходит middleware в обратном порядке. Middleware стоят до роутинга, поэтому могут, например, вернуть ответ сразу, не доходя до вьюхи (редирект на HTTPS, отказ в доступе).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Что такое middleware в Django
Следующий вопрос
Когда вызывается __init__ у middleware