Back to questions
Junior — Middle
74
Имели ли вы опыт разработки собственных промежуточных слоёв (middleware) в Django или аналогичных фреймворках?
Answer from AI
sobes.tech AI
Да, в Django можно создавать собственные промежуточные слои (middleware) для обработки запросов и ответов на уровне фреймворка. Middleware — это класс, который перехватывает запросы до попадания в представления и/или ответы перед отправкой клиенту.
Пример простого middleware, который логирует время обработки запроса:
import time
class SimpleTimingMiddleware:
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. Такой подход позволяет добавлять кросс-срезовые функции, например, логирование, аутентификацию, обработку ошибок и т.д.