In Django, láimhseáiltear request ag an WSGI/ASGI handler, fillte ag cruach de middleware, ródaithe ag an URL resolver chuig view, agus iompaithe ina HttpResponse a shreabhann amach arís trí na middleware céanna san ord droim ar ais.
In Django, láimhseáiltear request ag an WSGI/ASGI handler, fillte ag cruach de middleware, ródaithe ag an URL resolver chuig view, agus iompaithe ina HttpResponse a shreabhann amach arís trí na middleware céanna san ord droim ar ais.
Web server ──▶ WSGI/ASGI handler (cruthaíonn HttpRequest)
▼
Middleware — céim request (barr → bun: __call__ roimh get_response)
▼
URL resolver (urls.py) ── meaitseáil path → view + kwargs
▼
Middleware — hook process_view
▼
View (function / class-based) ── do loighic, filleann HttpResponse
▼
Middleware — céim response (bun → barr: tar éis get_response)
▼
HttpResponse ──▶ client
HttpRequest ón environ/scope.get_response() i ngach middleware ó bharr go bun (SecurityMiddleware, SessionMiddleware, AuthenticationMiddleware, CSRF, …). Is féidir le haon cheann acu ciorcadghearradh agus response a fhilleadh go luath.ROOT_URLCONF in aghaidh an path chun view a roghnú agus kwargs a ghabháil.process_view — hook middleware a ritheann díreach roimh an view a ghlaoch.HttpResponse. Spreagann eisceachtaí process_exception.get_response() ó bhun go barr, ag ligean do middleware an response amach a mhodhnú (headers, comhbhrú).HttpResponse ar ais chuig an server agus an client.# middleware.py
class TimingMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request): # 2. céim request (roimh)
request.started = time.monotonic()
response = self.get_response(request) # glaonn ar an gcéad chiseal / view eile
response["X-Time"] = "..." # 6. céim response (tar éis)
return response
# urls.py → 3. routing
urlpatterns = [path("items/<int:pk>/", views.item_detail)]
# views.py → 5. view
def item_detail(request, pk):
return render(request, "item.html", {"item": Item.objects.get(pk=pk)})
Tá timthriall request/response Django dírithe ar middleware, mar sin cuirtear an chuid is mó den iompar trasghearrthach — auth, sessions, CSRF, security headers, caching — i bhfeidhm mar middleware ordaithe. Tá sé riachtanach a thuiscint go ritheann cód na céime request ó bharr go bun agus go ritheann cód na céime response ó bhun go barr (agus go bhfuil an t-ord in MIDDLEWARE tábhachtach) chun do mhiddleware féin a chur i gceart, chun a dhífhabhtú cén fáth a dtarlaíonn 403/redirect roimh do view, agus chun a fháil amach cén áit ar cheart loighic a hook-áil gan gach view a láimhseáil.
Leabharlann de cheisteanna agallaimh TF le freagraí mionsonraithe — ó Shóisearach go Sinsearach.
Síntiús