Junior — Middle
Kas teil on kogemusi oma vahekihtide (middleware) arendamisel Django või sarnastes raamistikudes?
sobes.tech AI
Vastus AI-lt
Jah, Django võimaldab luua oma vahekihte (middleware), mis töötlevad päringuid ja vastuseid raamistikutasandil. Middleware on klass, mis haarab päringud enne, kui need jõuavad vaadetele, ja/või vastused enne, kui need saadetakse kliendile.
Näide lihtsast middleware'ist, mis logib päringu töötlemisaega:
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"Päring aadressile {request.path} kestis {duration:.4f} sekundit")
return response
Middleware'i kasutamiseks tuleb lisada selle klass Django seadistuste MIDDLEWARE nimekirja. See lähenemine võimaldab lisada ristküljelisi funktsioone, nagu logimine, autentimine, vigade käsitlemine ja muud.