Как используется middleware в Django
Python
Middle
Без компании
Как используется middleware в Django
Ответы
Middleware в Django — это слой обработки запросов и ответов между сервером и view. Это набор функций/классов, которые выполняются последовательно для каждого запроса до view и после.
**Пример middleware:**
```
class SimpleMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# Код до view (например, логирование)
print("До view:", request.path)
response = self.get_response(request) # Вызов view
# Код после view (например, добавление заголовка)
response['X-My-Header'] = 'Hello'
return response
```
**Типичные use-cases:**
- Аутентификация (`AuthenticationMiddleware`)
- CSRF-защита (`CsrfViewMiddleware`)
- Сессии (`SessionMiddleware`)
- Логирование, обработка ошибок, CORS
**Регистрация в `settings.py`:**
```
MIDDLEWARE = [
'myapp.middleware.SimpleMiddleware',
...
]
```
Порядок middleware важен: первый обрабатывает запрос первым, но ответ — последним.