Sobes.tech
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. Този подход позволява добавянето на кръстосани функции като логване, удостоверяване, обработка на грешки и др.