Django

A Django kérelem és válasz objektumok használata

A Django kérelem és válasz objektumok használata
A Request-response ciklust használják az adatok átadására a kliens és a kiszolgáló között minden típusú webes API-ban. A kliens-kiszolgáló architektúrát a Django keretrendszerben használják a webalkalmazás megvalósítására. A kérés és a válasz a kliens-szerver alkalmazás két fő alkotóeleme. An HttpRequest objektum akkor jön létre a Django alkalmazásban, amikor az ügyfél bármilyen erőforrást kér. Egy adott nézet funkciót használunk a kérés kezelésére és a válasz elküldésére a HttpResponse tárgy. A különböző attribútumok és módszerek felhasználása HttpRequest és HttpResponse a Django keretrendszer osztályait elmagyarázzuk ebben az oktatóanyagban.

Django HttpKérelem osztály:

HttpRequest osztály a kliens kérelmének kezelésére szolgál, amelyet a django.http modul. Az osztály tulajdonságait az alábbiakban említjük.

HttpRequest attribútumok:

Attribútum neve Célja
HttpRequest.pálya A kért oldal teljes elérési útját ez az attribútum adja vissza. A séma vagy a tartomány nem szerepel a visszaadott értékben.
HttpRequest.elérési út Ennek az útvonalnak az útvonalinformációs részét ez az attribútum mutatja.
HttpRequest.módszer A kéréshez használt HTTP-módszert ez az attribútum mutatja.
HttpRequest.rendszer A kérés sémáját (HTTP vagy HTTP) ez az attribútum képviseli.
HttpRequest.test A nyers HTTP kérés törzsét ez az attribútum bájtsorozatként adja vissza.
HttpRequest.KAP Az összes HTTP GET paramétert ez az attribútum adja vissza szótárobjektumként.
HttpRequest.POST Az összes HTTP POST paramétert ez az attribútum adja vissza szótárobjektumként.
HttpRequest.SÜTÉSEK Az összes elérhető cookie-t ez az attribútum adja vissza.
HttpRequest.FÁJLOK Az összes feltöltött fájlt ez az attribútum tartalmazza.
HttpRequest.META Az összes elérhető HTTP fejlécet ez az attribútum mutatja.
HttpRequest.tartalom típus A CONTENT_TYPE fejlécből értelmezett kérés MIME típusát ez az attribútum mutatja.
HttpRequest.content_params A CONTENT_TYPE fejlécben szereplő szótárobjektumot ez az attribútum adja vissza.
HttpRequest.kódolás A beküldött űrlapadatok dekódolásához használt aktuális kódolást ez az attribútum mutatja.

HttpRequest módszerek:

Módszer Célja
HttpRequest.get_host () A kérelem tényleges gazdagépnevének visszaadására szolgál.
HttpRequest.get_full_path () Az elérési út és a lekérdezési karakterlánc visszaadására szolgál, ha rendelkezésre állnak.
HttpRequest.get_port () A kérelem portszámának visszaadására szolgál.
HttpRequest.is_secure () Ha a kérés HTTPS használatával történik, akkor igaz, hamis értékként tér vissza.
HttpRequest.is_ajax () Ha a kérelmet az XMLHttpRequest használatával hajtják végre, akkor igazként hamis értékként tér vissza.
HttpRequest.build_absolute_uri (elhelyezkedés) Az abszolút URI-hely visszaadására szolgál.
HttpRequest.get_signed_cookie (kulcs, alapértelmezett = RAISE_ERROR, salt = ”, max_age = Nincs) Aláírt süti sütiértékének visszaadására szolgál, vagy djangót emel.mag.aláírás.BadSignature kivétel az érvénytelen aláíráshoz.

Django Http Válasz:

HttpResponse osztály a kliens válaszának kezelésére szolgál, amelyet a django.http modul. Az osztály tulajdonságait az alábbiakban említjük.

HttpResponse attribútumok:

Attribútum neve Célja
HttpResponse.állapot_kód A válasz HTTP állapotkódját ez az attribútum adja vissza
HttpResponse.karakterkészlet A válasz kódolásához használt karakterkészletet ez az attribútum határozza meg.
HttpResponse.folyó Az attribútum alapértelmezett értéke Hamis.
HttpResponse.tartalom A tartalmat ez az attribútum byte stringben ábrázolja.
HttpResponse.ok_mondat A válasz HTTP okkifejezését ez az attribútum határozza meg.
HttpResponse.zárva Amikor a válasz zárva van, akkor ez az attribútum True értéket ad vissza.

HttpResponse módszerek:

Módszer Leírás
HttpResponse.__benne__(tartalom = ”, tartalomtípus = Nincs, állapot = 200, ok = Nincs, karakterkészlet = Nincs) Ezzel a módszerrel elindítunk egy HttpResponse objektumot a megadott oldal tartalommal és típusú tartalommal.
HttpResponse.__getitem__(fejléc) Az adott fejlécnév értéke ezzel a módszerrel tér vissza.
HttpResponse.__setitem__(fejléc, érték) Az adott értéket az adott fejlécnévre állítja be ezzel a módszerrel.
HttpResponse.__delitem__(fejléc) Az adott fejléc nevét ezzel a módszerrel törli.
HttpResponse.alapértelmezettre állítás(fejléc, érték) Az alapértelmezett fejlécértéket ez a módszer állítja be.
HttpResponse.has_header(fejléc) Az adott fejlécnév meglétét ezzel a módszerrel ellenőrizzük.
HttpResponse.ír(tartalom) A fájlszerű válaszobjektum ezzel a módszerrel jön létre.
HttpResponse.getvalue () A HttpResponse értéke.a tartalom lekérése ezzel a módszerrel történik.
HttpResponse.olvasható() A HttpResponse osztály folyamszerű objektuma ezzel a módszerrel jön létre.
HttpResponse.kereshető () Ezt a módszert használják arra, hogy a válaszobjektum kereshetővé váljon.
HttpResponse.Mondd() Ezzel a módszerrel HttpResponse példányt hoznak létre fájlszerű objektumként.
HttpResponse.öblítés () Ezt a módszert használják a válaszobjektum öblítésére.

Előfeltételek:

Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat:

A. Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
B. Hozzon létre egy Django projektet
C. Futtassa a Django szervert annak ellenőrzésére, hogy a szerver megfelelően működik-e vagy sem.

Állítson be egy Django alkalmazást:

A. Futtassa a következő parancsot egy Django alkalmazás létrehozásához reqresapp.

$ python3 kezelni.py startapp reqresapp

B. Futtassa a következő parancsot egy felhasználó létrehozásához a Django adatbázis eléréséhez. Ha már korábban elkészítette a felhasználót, akkor nem kell futtatnia a parancsot.

$ python3 kezelni.py létrehozza a túlfelhasználót

C. Adja hozzá az alkalmazás nevét a INSTALLED_APP része a beállítások.oy fájl.

INSTALLED_APPS = [

„reqresapp”
]

A szükséges fájlok módosítása:

Módosítsa a nézeteket.py fájl a következő szkriptel. A index() A szkript függvénye három segítségével olvassa el a kérés elérési útját, metódusát és felhasználói ügynökét HttpRequest attribútumokat. Ezután ezeket az értékeket a böngészőbe küldi a HttpResponse () módszer.

nézetek.py

# HttResponse importálása
djangótól.http import HttpResponse
# Definiálja a kérés és a válasz kezelésének funkcióját
def index (kérés):
útvonal = kérés.pálya
módszer = kérés.módszer
userAgent = kérés.META ['HTTP_USER_AGENT']
A # kérést a HttpResponse objektummal kezeljük
return HttpResponse ("

Django Request Response Cycle tesztelése


"
"

Request path: "+ elérési út +
"

Kérési módszer: "+ metódus +
"

Felhasználói ügynök: "+ userAgent +"

")

Módosítsa az URL-eket.py fájl a következő szkript segítségével a index() funkciója nézetek.py fájl.

URL-ek.py

# Importálás útvonala
djangótól.URL importálási útvonal
# Import nézet
reqresapp-től.megtekintések import index
# Definiálja az elérési utat
urlpatterns = [
elérési út (", index),
]

A Django szerver indításához futtassa a következő parancsot.

$ python3 kezelni.py runerver

Futtassa a következő URL-t a böngészőből az alkalmazás kimenetének ellenőrzéséhez.

http: // localhost: 8000

Az alábbi kimenet a HttpResponse által küldött három HttpRequest attribútum értékét mutatja.

Következtetés:

Az oktatóanyag bemutatja, hogy a HttpRequest és a HttpResponse különböző attribútumai és módszerei miként használhatók a Django alkalmazásban. A Django felhasználói az oktatóanyag elolvasása után használhatják a Django kérés és válasz objektumokat.

A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...
A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...
5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...