Какие знаешь виды middleware
Python
Senior
Без компании
Какие знаешь виды middleware
Ответы
В Django middleware — это промежуточный слой между запросом и ответом, обрабатывающий их на разных этапах. Основные виды:
- **Request Middleware** — обрабатывает запрос до view (например, аутентификация, CORS).
- **View Middleware** — выполняется перед вызовом view (например, CSRF-проверка).
- **Response Middleware** — обрабатывает ответ после view (например, сжатие gzip).
- **Exception Middleware** — перехватывает исключения (например, кастомные ошибки).
Пример простого middleware:
```
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
```
Middleware регистрируется в `settings.py` в `MIDDLEWARE`. Порядок важен — они выполняются сверху вниз для запроса и снизу вверх для ответа.