Django

Uporaba predmetov zahteve in odziva Django

Uporaba predmetov zahteve in odziva Django
Cikel Request-response se uporablja za prenos podatkov med odjemalcem in strežnikom v vseh vrstah spletnih API-jev. Arhitektura odjemalec-strežnik se v okviru Django uporablja za izvajanje spletne aplikacije. Zahteva in odgovor sta glavna sestavna dela aplikacije odjemalec-strežnik. An HttpRequest objekt se ustvari v aplikaciji Django, ko odjemalec zahteva kateri koli vir. Določena funkcija pogleda se uporablja za obdelavo zahteve in pošiljanje odgovora z uporabo HttpResponse predmet. Uporabe različnih atributov in metod HttpRequest in HttpResponse razredi ogrodja Django bodo razloženi v tej vadnici.

Razred Django HttpRequest:

HttpRequest razred se uporablja za obdelavo odjemalske zahteve, ki je definirana v django.http modul. Atributi tega razreda so navedeni spodaj.

Atributi HttpRequest:

Ime atributa Namen
HttpRequest.pot Ta atribut vrne celotno pot zahtevane strani. Shema ali domena ni vključena v vrnjeno vrednost.
HttpRequest.pot_informacije Ta atribut prikazuje del te informacije o poti.
HttpRequest.metoda Ta atribut prikazuje metodo HTTP, uporabljeno za zahtevo.
HttpRequest.shemo Shema zahteve (HTTP ali HTTP) je predstavljena s tem atributom.
HttpRequest.telo Ta atribut vrne neobdelano telo zahteve HTTP kot niz bajtov.
HttpRequest.GET Ta atribut vrne vse parametre HTTP GET kot objekt slovarja.
HttpRequest.OBJAVI Ta atribut vrne vse parametre POST HTTP kot slovarski objekt.
HttpRequest.PIŠKOTKI Ta atribut vrne vse razpoložljive piškotke.
HttpRequest.DATOTEKE Vse naložene datoteke vsebujejo ta atribut.
HttpRequest.META Ta atribut prikazuje vse razpoložljive glave HTTP.
HttpRequest.vrsta_vsebine Ta atribut prikazuje vrsto MIME zahteve, ki je razčlenjena iz glave CONTENT_TYPE.
HttpRequest.content_params Ta atribut vrne predmet slovarja, ki je vključen v glavo CONTENT_TYPE.
HttpRequest.kodiranje Ta atribut prikazuje trenutno kodiranje, ki je uporabljeno za dekodiranje poslanih podatkov obrazca.

Metode HttpRequest:

Metoda Namen
HttpRequest.get_host () Uporablja se za vrnitev dejanskega imena gostitelja zahteve.
HttpRequest.get_full_path () Uporablja se za vrnitev poti in niza poizvedbe, če sta na voljo.
HttpRequest.get_port () Uporablja se za vrnitev številke vrat zahteve.
HttpRequest.is_secure () Če je zahteva podana s pomočjo HTTPS, se vrne kot True, sicer False.
HttpRequest.is_ajax () Če je zahteva podana z uporabo XMLHttpRequest, se vrne kot True, sicer False.
HttpRequest.build_absolute_uri (lokacija) Uporablja se za vrnitev absolutne lokacije URI.
HttpRequest.get_signed_cookie (ključ, privzeto = RAISE_ERROR, sol = ”, max_age = Brez) Uporablja se za vrnitev vrednosti piškotka za podpisani piškotek ali sproži django.jedro.podpisovanje.Izjema BadSignature za neveljaven podpis.

Django HttpResponse:

HttpResponse razred se uporablja za obravnavo odjemalskega odziva, ki je definiran v django.http modul. Atributi tega razreda so navedeni spodaj.

Atributi HttpResponse:

Ime atributa Namen
HttpResponse.statusna koda Ta atribut vrne kodo stanja HTTP odgovora
HttpResponse.nabor znakov Ta atribut definira nabor znakov, ki se uporablja za kodiranje odziva.
HttpResponse.pretakanje Privzeta vrednost tega atributa je False.
HttpResponse.vsebino Ta atribut predstavlja vsebino v bajtnem nizu.
HttpResponse.fraza_razloga Ta atribut definira stavek razloga HTTP v odgovoru.
HttpResponse.zaprto Ko je odgovor zaprt, bo ta atribut vrnil True.

Metode HttpResponse:

Metoda Opis
HttpResponse.__v__(vsebina = ”, vrsta vsebine = Brez, status = 200, razlog = Brez, nabor znakov = Brez) S to metodo se sproži objekt HttpResponse z dano vsebino strani in vrsto vsebine.
HttpResponse.__getitem__(glava) S to metodo se vrne vrednost določenega imena glave.
HttpResponse.__setitem__(glava, vrednost) S to metodo se določena vrednost nastavi na določeno ime glave.
HttpResponse.__delitem__(glava) S to metodo se izbriše določeno ime glave.
HttpResponse.setdefault(glava, vrednost) Ta metoda nastavi privzeto vrednost glave.
HttpResponse.has_header(glava) Obstoj določenega imena glave se preveri s to metodo.
HttpResponse.piši(vsebina) Datotečni odzivni objekt je ustvarjen s to metodo.
HttpResponse.getvalue () Vrednost HttpResponse.vsebina je naložena s to metodo.
HttpResponse.berljivo () Ta metoda ustvari objekt, podoben toku, razreda HttpResponse.
HttpResponse.viden () Ta metoda se uporablja za omogočanje iskanja odzivnega predmeta.
HttpResponse.povej () Ta metoda se uporablja za ustvarjanje primerka HttpResponse kot predmet, podoben datoteki.
HttpResponse.flush () Ta metoda se uporablja za izpiranje odzivnega predmeta.

Pogoji:

Pred vadbo skripta te vadnice morate opraviti naslednje naloge:

A. Namestite različico Django 3+ na Ubuntu 20+ (po možnosti)
B. Ustvarite projekt Django
C. Zaženite strežnik Django, da preverite, ali strežnik deluje pravilno ali ne.

Nastavite aplikacijo Django:

A. Zaženite naslednji ukaz, da ustvarite aplikacijo Django z imenom reqresapp.

$ python3 upravljanje.py startapp reqresapp

B. Zaženite naslednji ukaz, da ustvarite uporabnika za dostop do baze podatkov Django. Če ste uporabnika postavili pred tem, vam ni treba zagnati ukaza.

$ python3 upravljanje.py ustvarja uporabnika

C. Dodajte ime aplikacije v INSTALLED_APP del nastavitve.stry datoteko.

INSTALLED_APPS = [
..
'reqresapp'
]

Spremenite potrebne datoteke:

Spremenite poglede.py z naslednjim skriptom. The indeks () funkcija skripta bo prebrala pot zahteve, metodo in uporabniškega agenta z uporabo treh HttpRequest lastnosti. Nato bodo te vrednosti z uporabo poslane v brskalnik HttpResponse () metoda.

pogledi.py

# Uvozi HttResponse
iz djanga.http uvoz HttpResponse
# Določite funkcijo za obdelavo zahteve in odziva
indeks def (zahteva):
pot = zahteva.pot
metoda = zahteva.metoda
userAgent = zahteva.META ['HTTP_USER_AGENT']
# zahteva se obravnava s pomočjo predmeta HttpResponse
vrni HttpResponse ("

Testiranje cikla odziva na zahtevo Django


"
"

Pot zahteve: "+ pot +
"

Metoda zahteve: "+ metoda +
"

Uporabniški agent: "+ userAgent +"

")

Spremenite URL-je.py z naslednjim skriptom za določanje poti klica indeks () funkcija pogledi.py mapa.

URL-ji.py

# Uvozna pot
iz djanga.pot za uvoz URL-jev
# Uvozi pogled
iz reqresapp.indeks uvoza pogledov
# Določite pot
urlpatterns = [
pot (", indeks),
]

Zaženite naslednji ukaz, da zaženete strežnik Django.

$ python3 upravljanje.py runserver

Zaženite naslednji URL iz brskalnika, da preverite rezultate aplikacije.

http: // localhost: 8000

Naslednji izhod prikazuje vrednosti treh atributov HttpRequest, ki jih pošlje HttpResponse.

Zaključek:

Kako je mogoče v aplikaciji Django uporabiti različne atribute in metode HttpRequest in HttpResponse, je prikazano v tej vadnici. Uporabniki Djanga bodo lahko po branju te vadnice uporabljali predmete Django za zahteve in odzive.

Najboljši emulatorji igralne konzole za Linux
V tem članku bo navedena priljubljena programska oprema za emulacijo igralne konzole, ki je na voljo za Linux. Emulacija je sloj združljivosti program...
Najboljši Linux Distros za igre na srečo v letu 2021
Operacijski sistem Linux je daleč od prvotnega, preprostega, strežniškega videza. Ta OS se je v zadnjih letih izjemno izboljšal in se je zdaj razvil v...
Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...