Django middleware: k čemu slouží a jak si napsat vlastní

Middleware je mocný nástroj pro zpracování request/response cyklu. Ukážeme si, jak funguje, typické použití (logging, CORS, rate limiting) a jak implementovat vlastní middleware.

Django middleware: k čemu slouží a jak si napsat vlastní

Middleware umožňuje zasahovat do request/response pipeline. Používá se např. pro logování, manipulaci hlaviček, CORS nebo ověřování.

Jak middleware funguje

Middleware je třída se specializovanými metodami (__call__, process_view apod.), která dostává request a vrací response.

Příklad vlastního middleware

# myapp/middleware.py\nimport time \nclass TimingMiddleware:     def __init__(self, get_response):         self.get_response = get_response      def __call__(self, request):         start = time.time()         response = self.get_response(request)         duration = (time.time() - start) * 1000         response['X-Page-Duration-ms'] = str(int(duration))         return response

Následně middleware zaregistrujte v settings.py v poli MIDDLEWARE.

Dobré praktiky

  • Middleware by měla být rychlá a neměla by dělat těžké I/O operace.
  • Rozdělte funkce do více malých middleware namísto jedné velké.
  • Testujte kompatibilitu, protože middleware ovlivňuje celý request/response cyklus.

Tímto uzavíráme Django blok. V dalším kroku můžeme pokračovat DRF nebo Django Ninja — řekni, co chceš dál.

@admin

20. července 2025


Komentáře 0