Django

Django päringu- ja vastusobjektide kasutamine

Django päringu- ja vastusobjektide kasutamine
Taotluse-vastuse tsüklit kasutatakse andmete edastamiseks kliendi ja serveri vahel igat tüüpi veebi API-des. Kliendiserveri arhitektuuri kasutatakse veebirakenduse juurutamiseks Django raamistikus. Taotlus ja vastus on kliendi-serveri rakenduse kaks peamist komponenti. An HttpRequest objekt luuakse Django rakenduses, kui klient taotleb mis tahes ressurssi. Konkreetset vaatefunktsiooni kasutatakse päringu käsitlemiseks ja vastuse saatmiseks, kasutades HttpResponse objekt. Erinevate atribuutide ja meetodite kasutusalad HttpRequest ja HttpResponse Django raamistiku klassid selgitatakse selles õpetuses.

Django Http taotlusklass:

HttpRequest klassi kasutatakse kliendisoovi käsitlemiseks, mis on määratletud jaotises django.http moodul. Selle klassi atribuudid on toodud allpool.

HttpRequest atribuudid:

Atribuudi nimi Eesmärk
HttpRequest.tee Selle atribuudiga tagastatakse soovitud lehe täielik tee. Skeem või domeen ei kuulu tagastatava väärtuse hulka.
HttpRequest.tee_info Selle atribuudi abil kuvatakse selle tee teeteabe osa.
HttpRequest.meetod Selle atribuudiga kuvatakse päringu jaoks kasutatud HTTP-meetodit.
HttpRequest.skeem Taotluse skeemi (HTTP või HTTP) esindab see atribuut.
HttpRequest.keha Selle atribuudi abil tagastatakse toores HTTP päringu keha baidistringina.
HttpRequest.Hangi See atribuut tagastab kõik HTTP GET parameetrid sõnaraamatu objektina.
HttpRequest.POSTITA See atribuut tagastab kõik HTTP POST-i parameetrid sõnaraamatu objektina.
HttpRequest.KÜPSISED Selle atribuudiga tagastatakse kõik saadaolevad küpsised.
HttpRequest.FILISID See atribuut sisaldab kõiki üleslaaditud faile.
HttpRequest.META Selle atribuudiga kuvatakse kõik saadaolevad HTTP-päised.
HttpRequest.sisu tüüp Selle atribuudiga kuvatakse päisest CONTENT_TYPE sõeluva päringu MIME tüüp.
HttpRequest.content_params Selle atribuudiga tagastatakse päises CONTENT_TYPE sisalduv sõnastikuobjekt.
HttpRequest.kodeerimine Selle atribuudiga kuvatakse esitatud vormiandmete dekodeerimiseks kasutatud praegune kodeering.

HttpRequesti meetodid:

Meetod Eesmärk
HttpRequest.get_host () Seda kasutatakse päringu tegeliku hostinime tagastamiseks.
HttpRequest.get_full_path () Seda kasutatakse tee ja päringustringi tagastamiseks, kui need on saadaval.
HttpRequest.get_port () Seda kasutatakse päringu pordinumbri tagastamiseks.
HttpRequest.is_secure () Kui taotlus on tehtud HTTPS-i abil, tagastatakse see väärtusena True, muidu False.
HttpRequest.is_ajax () Kui taotlus on tehtud XMLHttpRequesti abil, tagastatakse see kui tõene, vastasel juhul vale.
HttpRequest.build_absolute_uri (asukoht) Seda kasutatakse URI absoluutse asukoha tagastamiseks.
HttpRequest.saada_sign_cookie (võti, vaikimisi = RAISE_ERROR, salt = ”, max_age = Puudub) Seda kasutatakse allkirjastatud küpsise küpsise väärtuse tagastamiseks või django kasvatamiseks.tuum.allkirjastamine.Kehtetu allkirja erand BadSignature.

Django Http Vastus:

HttpResponse klassi kasutatakse kliendis vastuse töötlemiseks, mis on määratletud jaotises django.http moodul. Selle klassi atribuudid on toodud allpool.

HttpResponse atribuudid:

Atribuudi nimi Eesmärk
HttpResponse.olekukood Selle atribuudiga tagastatakse vastuse HTTP olekukood
HttpResponse.tähemärk Selle atribuudiga määratakse vastuse kodeerimiseks kasutatav märgistik.
HttpResponse.voogesitus Selle atribuudi vaikeväärtus on False.
HttpResponse.sisu Selle atribuudiga on sisu esindatud baitide stringidena.
HttpResponse.põhjus_fraas Vastuse HTTP-fraas fraas on määratletud selle atribuudiga.
HttpResponse.suletud Kui vastus on suletud, tagastatakse see atribuut tõeseks.

HttpResponse meetodid:

Meetod Kirjeldus
HttpResponse.__selles__(content = ”, content_type = puudub, status = 200, põhjus = puudub, tähemärk = pole) Selle meetodi abil algatatakse antud lehe sisu ja sisutüübiga objekt HttpResponse.
HttpResponse.__getitem__(päis) Selle meetodi abil tagastatakse konkreetse päise nime väärtus.
HttpResponse.__setitem__(päis, väärtus) Selle meetodi abil määratakse konkreetne päise nimi konkreetseks väärtuseks.
HttpResponse.__delitem__(päis) Selle meetodiga kustutatakse konkreetne päise nimi.
HttpResponse.Määra vaikimisi(päis, väärtus) Selle meetodiga määratakse päise vaikeväärtus.
HttpResponse.has_header(päis) Selle meetodiga kontrollitakse konkreetse päise nime olemasolu.
HttpResponse.kirjutama(sisu) Selle meetodi abil luuakse failitaoline vastusobjekt.
HttpResponse.getvalue () HttpResponse väärtus.sisu leitakse selle meetodi abil.
HttpResponse.loetav () Selle meetodi abil luuakse klassi HttpResponse voogutaoline objekt.
HttpResponse.otsitav () Seda meetodit kasutatakse vastusobjekti otsitavaks muutmiseks.
HttpResponse.ütle () Seda meetodit kasutatakse HttpResponse eksemplari loomiseks failitaolise objektina.
HttpResponse.loputada () Seda meetodit kasutatakse vastusobjekti loputamiseks.

Eeldused:

Enne selle õpetuse skripti harjutamist peate täitma järgmised ülesanded:

A. Installige Django versioon 3+ Ubuntu 20+ (eelistatult)
B. Looge Django projekt
C. Käivitage Django server, et kontrollida, kas server töötab korralikult või mitte.

Django rakenduse seadistamine:

A. Django nimelise rakenduse loomiseks käivitage järgmine käsk reqresapp.

$ python3 hallata.py startapp reqresapp

B. Django andmebaasile juurdepääsu saamiseks kasutaja loomiseks käivitage järgmine käsk. Kui olete kasutaja enne seda teinud, ei pea te käsku käivitama.

$ python3 hallata.py loob ülikasutaja

C. Lisage rakenduse nimi rakendusse INSTALLED_APP osa seaded.lky fail.

INSTALLED_APPS = [

'reqresapp'
]

Vajalike failide muutmine:

Muutke vaateid.py fail järgmise skriptiga. The indeks () skripti funktsioon loeb päringu teed, meetodit ja kasutajaagenti, kasutades kolme HttpRequest atribuudid. Järgmisena saadetakse need väärtused brauserisse, kasutades HttpResponse () meetod.

vaated.py

# Import HttResponse
alates django.http import HttpResponse
# Määrake funktsioon päringute ja vastuste haldamiseks
def indeks (taotlus):
tee = taotlus.tee
meetod = taotlus.meetod
userAgent = taotlus.META ['HTTP_USER_AGENT']
# päringut käsitletakse objekti HttpResponse abil
tagastage HttpResponse ("

Django päringu reageerimise tsükli testimine


"
"

Taotluse tee: "+ tee +
"

Taotlusmeetod: "+ meetod +
"

Kasutajaagent: "+ userAgent +"

")

Muutke URL-e.py-fail järgmise skriptiga, et määrata tee kutsumiseks indeks () funktsioon vaated.py faili.

URL-id.py

# Impordi tee
alates django.URL-ide importimise tee
# Importivaade
alates reqresapp.vaadete impordi register
# Määrake tee
urlpatterns = [
tee (", register),
]

Django serveri käivitamiseks käivitage järgmine käsk.

$ python3 hallata.py töötaberver

Rakenduse väljundi kontrollimiseks käivitage brauseris järgmine URL.

http: // localhost: 8000

Järgmine väljund näitab kolme HttpRequest atribuudi väärtust, mille on saatnud HttpResponse.

Järeldus:

Selles õpetuses on näidatud, kuidas rakenduses Django saab kasutada erinevaid atribuute ja meetodeid HttpRequest ja HttpResponse. Django kasutajad saavad pärast selle õpetuse lugemist kasutada Django päringu- ja vastusobjekte.

Parimad Oculus App Lab mängud
Kui olete Oculuse peakomplekti omanik, peate olema teadlik külglaadimisest. Kõrvalaadimine on protsess, millega installitakse peakomplekti mitte-poesi...
10 parimat mängu, mida Ubuntu kaudu mängida
Windowsi platvorm on olnud üks mängude domineerivaid platvorme, kuna tohutu protsent mänge areneb täna Windowsi loomupäraseks toetamiseks. Kas keegi s...
5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...