Middle
65
Wat is middleware in Django, waar wordt het voor gebruikt, welke standaard middleware ken je, geef een voorbeeld van aangepaste middleware?
Bedrijven waar gevraagd werd
fabriqeue
Antwoord van AI
sobes.tech AI
Middleware в Django — это компоненты, которые обрабатывают запросы и ответы между сервером и приложением. Они позволяют выполнять общие задачи, такие как аутентификация, сессии, кэширование, обработка ошибок, логирование и т.д., без необходимости писать этот код в каждом представлении.
Стандартные middleware в Django включают:
SecurityMiddleware— обеспечивает безопасность (например, HTTPS).SessionMiddleware— поддержка сессий.CommonMiddleware— различные общие функции, например, редиректы.CsrfViewMiddleware— защита от CSRF-атак.AuthenticationMiddleware— связывает пользователя с запросом.MessageMiddleware— поддержка системы сообщений.
Пример кастомного middleware, который логирует время обработки запроса:
import time
class TimingMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
start_time = time.time()
response = self.get_response(request)
duration = time.time() - start_time
print(f"Request to {request.path} took {duration:.4f} seconds")
return response
Чтобы использовать middleware, нужно добавить его класс в список MIDDLEWARE в настройках Django.