Django

„Django“ užklausos ir atsakymo objektų naudojimas

„Django“ užklausos ir atsakymo objektų naudojimas
Užklausos-atsakymo ciklas naudojamas duomenims perduoti tarp kliento ir serverio visų tipų žiniatinklio API. Kliento-serverio architektūra naudojama „Django“ sistemoje žiniatinklio programai įgyvendinti. Užklausa ir atsakymas yra du pagrindiniai kliento-serverio programos komponentai. An „HttpRequest“ objektas sukuriamas „Django“ programoje, kai klientas prašo bet kokių išteklių. Tam tikra rodinio funkcija naudojama užklausai tvarkyti ir atsakymui siųsti naudojant HttpResponse objektas. Skirtingų atributų ir metodų naudojimas „HttpRequest“ ir HttpResponse „Django“ sistemos klasės bus paaiškintos šioje pamokoje.

„Django Http“ užklausos klasė:

„HttpRequest“ klasė naudojama kliento užklausai, apibrėžtai., apdoroti django.http modulis. Šios klasės atributai yra paminėti žemiau.

„HttpRequest“ atributai:

Atributo pavadinimas Tikslas
„HttpRequest“.kelias Šis atributas grąžina visą pageidaujamo puslapio kelią. Schema ar domenas nėra įtraukiami į grąžintą vertę.
„HttpRequest“.kelias_info Šio kelio kelio informaciją rodo šis atributas.
„HttpRequest“.metodas Šis atributas rodo užklausai naudojamą HTTP metodą.
„HttpRequest“.schema Užklausos schemą (HTTP arba HTTP) vaizduoja šis atributas.
„HttpRequest“.kūnas Šis atributas grąžina neapdorotą HTTP užklausos turinį kaip baitų eilutę.
„HttpRequest“.GAUTI Visus HTTP GET parametrus šis atributas grąžina kaip žodyno objektą.
„HttpRequest“.POST Visus HTTP POST parametrus šis atributas grąžina kaip žodyno objektą.
„HttpRequest“.Sausainiai Visi galimi slapukai grąžinami pagal šį atributą.
„HttpRequest“.Failai Visus įkeltus failus sudaro šis atributas.
„HttpRequest“.META Šis atributas rodo visas galimas HTTP antraštes.
„HttpRequest“.turinio tipas Užklausos, analizuojamos iš antraštės CONTENT_TYPE, MIME tipas rodomas šiuo atributu.
„HttpRequest“.turinio_paramos Šis atributas grąžina žodyno objektą, kuris yra įtrauktas į antraštę CONTENT_TYPE.
„HttpRequest“.kodavimas Naudojamas dabartinis kodavimas, norint iškoduoti pateiktus formos duomenis, rodomas šiuo atributu.

„HttpRequest“ metodai:

Metodas Tikslas
„HttpRequest“.get_host () Jis naudojamas grąžinant tikrąjį užklausos pagrindinį pavadinimą.
„HttpRequest“.get_full_path () Jis naudojamas norint grąžinti kelią ir užklausos eilutę, jei yra.
„HttpRequest“.get_port () Jis naudojamas užklausos uosto numeriui grąžinti.
„HttpRequest“.is_secure () Jei užklausa pateikiama naudojant HTTPS, ji grąžinama kaip Tiesa, kitaip neteisinga.
„HttpRequest“.is_ajax () Jei užklausa pateikta naudojant XMLHttpRequest, ji grąžinama kaip Tiesa, kitaip klaidinga.
„HttpRequest“.build_absolute_uri (vieta) Jis naudojamas grąžinti absoliučią URI vietą.
„HttpRequest“.gauti_sign_cookie (raktas, numatytasis = RAISE_ERROR, druska = “, max_age = Nėra) Jis naudojamas pasirašyto slapuko vertei grąžinti arba pakelia django.šerdis.pasirašant.Netinkamo parašo „BadSignature“ išimtis.

Django Http Atsakymas:

HttpResponse klasė naudojama apdoroti kliento atsakymą, kuris apibrėžtas django.http modulis. Šios klasės atributai yra paminėti žemiau.

„HttpResponse“ atributai:

Atributo pavadinimas Tikslas
HttpResponse.status_code Atsakymo HTTP būsenos kodą grąžina šis atributas
HttpResponse.charset Char-rinkinį, kuris naudojamas atsako kodavimui, apibrėžia šis atributas.
HttpResponse.srautas Numatytoji šio atributo vertė yra False.
HttpResponse.turinys Šis atributas turinį vaizduoja baitų eilutėje.
HttpResponse.priežasties_frazė Atsakymo HTTP priežasties frazę apibrėžia šis atributas.
HttpResponse.uždaryta Kai atsakymas bus uždarytas, šis atributas grąžins tiesą.

„Http“ atsakymo metodai:

Metodas apibūdinimas
HttpResponse.__init__(content = “, content_type = Nėra, status = 200, priežastis = Nėra, simbolių rinkinys = Nėra) Šiuo metodu pradedamas „HttpResponse“ objektas su nurodytu puslapio turiniu ir turinio tipu.
HttpResponse.__getitem__(antraštė) Šiuo metodu grąžinama konkretaus antraštės pavadinimo vertė.
HttpResponse.__setitem__(antraštė, vertė) Šiuo metodu tam tikra antraštės pavadinimas nustatoma tam tikra vertė.
HttpResponse.__delitem__(antraštė) Šiuo metodu konkretus antraštės pavadinimas ištrinamas.
HttpResponse.nustatyti numatytąjį(antraštė, vertė) Numatytoji antraštės vertė nustatoma šiuo metodu.
HttpResponse.has_header(antraštė) Šiuo metodu tikrinamas konkretaus antraštės pavadinimo buvimas.
HttpResponse.rašyti(turinys) Šiuo metodu sukurtas į failą panašus atsakymo objektas.
HttpResponse.gauti vertę () „HttpResponse“ vertė.turinys gaunamas šiuo metodu.
HttpResponse.skaitomas () Šiuo metodu sukurtas „HttpResponse“ klasės srautinis objektas.
HttpResponse.ieškoma () Šis metodas naudojamas norint, kad atsako objektas būtų ieškomas.
HttpResponse.pasakyti () Šis metodas naudojamas kuriant „HttpResponse“ egzempliorių kaip į failą panašų objektą.
HttpResponse.nuleisti () Šis metodas naudojamas atsako objektui nuplauti.

Būtinos sąlygos:

Prieš praktikuodami šios mokymo programos scenarijų, turite atlikti šias užduotis:

A. Įdiekite „Django“ versiją 3+ „Ubuntu 20+“ (geriausia)
B. Sukurkite „Django“ projektą
C. Paleiskite „Django“ serverį ir patikrinkite, ar serveris veikia tinkamai.

Nustatykite „Django“ programą:

A. Norėdami sukurti „Django“ programą, paleiskite šią komandą reqresapp.

$ python3 valdyti.py startapp reqresapp

B. Vykdykite šią komandą, norėdami sukurti vartotoją, kad galėtumėte pasiekti „Django“ duomenų bazę. Jei vartotoją sukūrėte anksčiau, komandos vykdyti nereikia.

$ python3 valdyti.py sukurianaudotojas

C. Pridėkite programos pavadinimą INSTALLED_APP dalis parametrus.py failas.

INSTALLED_APPS = [

„reqresapp“
]

Pakeiskite reikalingus failus:

Keisti rodinius.py failas su tokiu scenarijumi. The indeksas() scenarijaus funkcija nuskaitys užklausos kelią, metodą ir vartotojo agentą naudodama tris „HttpRequest“ atributus. Tada šios vertės bus nusiųstos naršyklei naudojant „HttpResponse“ () metodas.

Peržiūrų.py

# Importuoti „HttResponse“
nuo django.http importuoti „HttpResponse“
# Apibrėžkite užklausos ir atsakymo tvarkymo funkciją
def indeksas (užklausa):
kelias = prašymas.kelias
metodas = prašymas.metodas
userAgent = užklausa.META ['HTTP_USER_AGENT']
# užklausa tvarkoma naudojant „HttpResponse“ objektą
grąžinti HttpResponse ("

Django užklausos atsakymo ciklo testavimas


"
"

Užklausos kelias: "+ kelias +
"

Užklausos metodas: "+ metodas +
"

Vartotojo agentas: "+ userAgent +"

")

Pakeiskite URL.py failas su šiuo scenarijumi, skirtas apibrėžti kelią iškviesti indeksas() funkcija Peržiūrų.py failą.

URL.py

# Importavimo kelias
nuo django.URL importavimo kelias
# Importuoti rodinį
nuo reqresapp.peržiūrų importo indeksas
# Apibrėžkite kelią
urlpatterns = [
kelias (", rodyklė),
]

Norėdami paleisti „Django“ serverį, vykdykite šią komandą.

$ python3 valdyti.py runerver

Paleiskite šį URL iš naršyklės, kad patikrintumėte programos išvestį.

http: // localhost: 8000

Šiame išvestyje rodomos trijų „HttpRequest“ atributų, kuriuos siunčia „HttpResponse“, vertės.

Išvada:

Kaip skirtingi „HttpRequest“ ir „HttpResponse“ atributai ir metodai gali būti naudojami programoje „Django“, parodoma šioje pamokoje. Perskaitę šią pamoką, „Django“ vartotojai galės naudoti „Django“ užklausos ir atsakymo objektus.

5 geriausi „Arcade“ žaidimai, skirti „Linux“
Šiais laikais kompiuteriai yra rimta mašina, naudojama žaidimams. Jei negalėsite gauti naujo aukšto rezultato, žinosite, ką noriu pasakyti. Šiame įraš...
Mūšis už Wesnothą 1.13.6 Išleista plėtra
Mūšis už Wesnothą 1.13.6 išleistas praėjusį mėnesį, yra šeštasis 1 versijos kūrimo leidimas.13.„x“ serija ir ji teikia daug patobulinimų, ypač vartoto...
Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...