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