Django

Použití objektů Django Request a Response

Použití objektů Django Request a Response
Cyklus Request-response se používá k přenosu dat mezi klientem a serverem ve všech typech webových API. Architektura klient-server se používá v rámci Django k implementaci webové aplikace. Požadavek a odpověď jsou dvě hlavní součásti aplikace klient-server. An HttpRequest objekt je vytvořen v aplikaci Django, když klient požaduje jakýkoli prostředek. Ke zpracování požadavku a odeslání odpovědi pomocí se používá konkrétní funkce zobrazení HttpResponse objekt. Použití různých atributů a metod HttpRequest a HttpResponse v tomto kurzu budou vysvětleny třídy rámce Django.

Třída Django HttpRequest:

HttpRequest třída se používá ke zpracování požadavku klienta, který je definován v django.http modul. Atributy této třídy jsou uvedeny níže.

Atributy HttpRequest:

Název atributu Účel
HttpRequest.cesta Tento atribut vrátí úplnou cestu požadované stránky. Schéma nebo doména nejsou zahrnuty ve vrácené hodnotě.
HttpRequest.cesta_info Tento atribut zobrazuje část informace o cestě této cesty.
HttpRequest.metoda Metoda HTTP použitá pro požadavek je zobrazena tímto atributem.
HttpRequest.systém Schéma požadavku (HTTP nebo HTTPs) je představováno tímto atributem.
HttpRequest.tělo Nezpracované tělo požadavku HTTP je tímto atributem vráceno jako bajtový řetězec.
HttpRequest.DOSTAT Tento atribut vrací všechny parametry HTTP GET jako objekt slovníku.
HttpRequest.POŠTA Všechny parametry HTTP POST jsou tímto atributem vráceny jako objekt slovníku.
HttpRequest.COOKIES Tento atribut vrací všechny dostupné soubory cookie.
HttpRequest.SOUBORY Tento atribut obsahuje všechny nahrané soubory.
HttpRequest.META Tento atribut zobrazuje všechny dostupné hlavičky HTTP.
HttpRequest.typ obsahu Tento atribut zobrazuje typ MIME požadavku, který je analyzován ze záhlaví CONTENT_TYPE.
HttpRequest.content_params Tento atribut vrátí objekt slovníku, který je zahrnut v záhlaví CONTENT_TYPE.
HttpRequest.kódování Tento atribut zobrazuje použité aktuální kódování k dekódování odeslaných dat formuláře.

Metody HttpRequest:

Metoda Účel
HttpRequest.get_host () Používá se k vrácení skutečného názvu hostitele požadavku.
HttpRequest.get_full_path () Používá se k vrácení cesty a řetězce dotazu, pokud jsou k dispozici.
HttpRequest.get_port () Používá se k vrácení čísla portu požadavku.
HttpRequest.is_secure () Pokud je požadavek vytvořen pomocí HTTPS, vrátí se jako True, jinak False.
HttpRequest.is_ajax () Pokud je požadavek vytvořen pomocí XMLHttpRequest, vrátí se jako True, jinak False.
HttpRequest.build_absolute_uri (umístění) Používá se k vrácení absolutního umístění URI.
HttpRequest.get_signed_cookie (klíč, výchozí = RAISE_ERROR, salt = ”, max_age = žádný) Používá se k vrácení hodnoty cookie pro podepsaný soubor cookie nebo vyvolání django.jádro.podepisování.Výjimka BadSignature pro neplatný podpis.

Django HttpResponse:

HttpResponse třída se používá ke zpracování reakce klienta, která je definována v django.http modul. Atributy této třídy jsou uvedeny níže.

Atributy HttpResponse:

Název atributu Účel
HttpResponse.status_code Tento atribut vrací stavový kód HTTP odpovědi
HttpResponse.znaková sada Sada znaků, která se používá k zakódování odpovědi, je definována tímto atributem.
HttpResponse.streamování Výchozí hodnota tohoto atributu je False.
HttpResponse.obsah Obsah je tímto atributem reprezentován v bajtovém řetězci.
HttpResponse.reason_phrase Fráze důvodu HTTP odpovědi je definována tímto atributem.
HttpResponse.Zavřeno Když je odpověď uzavřena, vrátí tento atribut hodnotu True.

Metody HttpResponse:

Metoda Popis
HttpResponse.__init__(content = ”, content_type = None, status = 200, reason = None, charset = None) Tato metoda inicializuje objekt HttpResponse s daným obsahem stránky a typem obsahu.
HttpResponse.__getitem__(záhlaví) Tato metoda vrátí hodnotu názvu konkrétní hlavičky.
HttpResponse.__setitem__(záhlaví, hodnota) Konkrétní hodnota je touto metodou nastavena na název konkrétní hlavičky.
HttpResponse.__delitem__(záhlaví) Touto metodou je odstraněn konkrétní název záhlaví.
HttpResponse.nastavit výchozí(záhlaví, hodnota) Výchozí hodnota záhlaví je nastavena touto metodou.
HttpResponse.has_header(záhlaví) Tato metoda kontroluje existenci konkrétního názvu záhlaví.
HttpResponse.napsat(obsah) Touto metodou je vytvořen objekt odpovědi typu soubor.
HttpResponse.getvalue () Hodnota HttpResponse.obsah je načítán touto metodou.
HttpResponse.čitelný() Proudový objekt třídy HttpResponse je vytvořen touto metodou.
HttpResponse.viditelný () Tato metoda se používá k vyhledání objektu odpovědi.
HttpResponse.sdělit() Tato metoda se používá k vytvoření instance HttpResponse jako objekt podobný souboru.
HttpResponse.flush () Tato metoda se používá k vyprázdnění objektu odpovědi.

Předpoklady:

Před procvičením skriptu tohoto tutoriálu musíte dokončit následující úkoly:

A. Nainstalujte Django verze 3+ na Ubuntu 20+ (nejlépe)
B. Vytvořte projekt Django
C. Spusťte server Django a zkontrolujte, zda server funguje správně nebo ne.

Nastavení aplikace Django:

A. Spuštěním následujícího příkazu vytvořte aplikaci Django s názvem reqresapp.

$ python3 spravovat.py startapp reqresapp

B. Spuštěním následujícího příkazu vytvořte uživatele pro přístup k databázi Django. Pokud jste uživatele nastavili do té doby, nemusíte tento příkaz spouštět.

$ python3 spravovat.py vytvoří superuživatele

C. Přidejte název aplikace do INSTALLED_APP část nastavení.py soubor.

INSTALLED_APPS = [

'reqresapp'
]

Upravit potřebné soubory:

Upravte pohledy.py soubor s následujícím skriptem. The index() funkce skriptu načte cestu požadavku, metodu a agenta uživatele pomocí tří HttpRequest atributy. Dále budou tyto hodnoty odeslány do prohlížeče pomocí HttpResponse () metoda.

pohledy.py

# Importovat HttResponse
od djanga.http import HttpResponse
# Definujte funkci pro zpracování požadavku a odpovědi
def index (požadavek):
cesta = požadavek.cesta
metoda = požadavek.metoda
userAgent = požadavek.META ['HTTP_USER_AGENT']
# požadavek je zpracován pomocí objektu HttpResponse
vrátit HttpResponse ("

Testování cyklu odpovědi na požadavek Django


"
"

Cesta požadavku: "+ cesta +
"

Metoda požadavku: "+ metoda +
"

Uživatelský agent: "+ userAgent +"

")

Upravte adresy URL.py soubor s následujícím skriptem pro definování cesty k volání souboru index() funkce pohledy.py soubor.

adresy URL.py

# Cesta importu
od djanga.cesta pro import adres URL
# Importovat pohled
z reqresapp.zobrazení indexu importu
# Definujte cestu
urlpatterns = [
cesta (", index),
]

Spuštěním následujícího příkazu spusťte server Django.

$ python3 spravovat.py runserver

Spusťte následující adresu URL z prohlížeče a zkontrolujte výstup aplikace.

http: // localhost: 8000

Následující výstup ukazuje hodnoty tří HttpRequest atributů odeslaných HttpResponse.

Závěr:

Jak lze v aplikaci Django použít různé atributy a metody HttpRequest a HttpResponse jsou uvedeny v tomto kurzu. Uživatelé Django budou moci po přečtení tohoto tutoriálu používat objekty požadavků a odpovědí Django.

Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...
Hry Nejlepší hry z příkazového řádku pro Linux
Nejlepší hry z příkazového řádku pro Linux
Příkazový řádek není při používání Linuxu jen vaším největším spojencem - může být také zdrojem zábavy, protože jej můžete použít k hraní mnoha zábavn...
Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...