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

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

Middleware в Django - это слой обработки запросов и ответов между сервером и представлением. Это цепочка обработчиков, через которые проходят все запросы и ответы.

Основные особенности:

  1. Выполняется для каждого запроса/ответа
  2. Работает последовательно в порядке регистрации в settings.py
  3. Может модифицировать запрос или ответ
  4. Может прервать обработку запроса (например, для аутентификации)

Пример простого middleware:

python
class SimpleMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        # Код до view
        print("До view")
        
        response = self.get_response(request)
        
        # Код после view
        print("После view")
        return response

Типичные use cases:

  • Аутентификация
  • Логирование
  • Gzip сжатие
  • CSRF защита
  • Кэширование

Middleware регистрируется в MIDDLEWARE в settings.py:

python
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    # ...
]
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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