Junior — Middle
Имали ли сте опит в разработването на собствени междинни слоеве (middleware) в Django или подобни рамки?
sobes.tech AI
Отговор от 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.path} отне {duration:.4f} секунди")
return response
За да използвате middleware, трябва да добавите класа му към списъка MIDDLEWARE в настройките на Django. Този подход позволява добавянето на кръстосани функции като логване, удостоверяване, обработка на грешки и др.