Junior — Middle
109
Avez-vous de l'expérience dans le développement de vos propres couches intermédiaires (middleware) dans Django ou des frameworks similaires?
Réponse de l'IA
sobes.tech IA
Да, в 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. Такой подход позволяет добавлять кросс-срезовые функции, например, логирование, аутентификацию, обработку ошибок и т.д.