Middle
52
Ce este middleware în Django, la ce folosește, ce middleware standard cunoști, oferă un exemplu de middleware personalizat?
Companiile au fost întrebate
fabriqeue
Răspuns de la 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.