Встречается на собеседованиях • сегодня

Что передается в middleware

В Django (и других фреймворках) middleware получает request и response (или get_response callable) в зависимости от типа middleware.

Request middleware (работает до view):

python
def simple_middleware(get_response):
    def middleware(request):
        # До view
        print("До view:", request.path)
        response = get_response(request)
        # После view
        return response
    return middleware

Response middleware (работает после view):

python
def add_header_middleware(get_response):
    def middleware(request):
        response = get_response(request)
        response['X-Custom-Header'] = 'Hello'
        return response
    return middleware

Ключевые моменты:

  • get_response — это callable, который передает управление следующему middleware/view.
  • request — объект HTTP-запроса (например, HttpRequest в Django).
  • response — объект HTTP-ответа (например, HttpResponse).

Middleware может модифицировать request до обработки view или response после.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы