Django

Použitie objektov žiadosti a odpovede Django

Použitie objektov žiadosti a odpovede Django
Cyklus požiadaviek a odpovedí sa používa na prenos údajov medzi klientom a serverom vo všetkých typoch webových rozhraní API. Architektúra klient-server sa používa v rámci Django na implementáciu webovej aplikácie. Požiadavka a odpoveď sú dva hlavné komponenty aplikácie klient-server. An HttpRequest objekt sa vytvorí v aplikácii Django, keď klient požaduje akýkoľvek zdroj. Na spracovanie žiadosti a odoslanie odpovede pomocou znaku sa používa konkrétna funkcia zobrazenia HttpResponse objekt. Využitie rôznych atribútov a metód HttpRequest a HttpResponse v tomto výučbe budú vysvetlené triedy rámca Django.

Trieda Django HttpRequest:

HttpRequest trieda sa používa na vybavenie požiadavky klienta, ktorá je definovaná v django.http modul. Atribúty tejto triedy sú uvedené nižšie.

Atribúty HttpRequest:

Názov atribútu Účel
HttpRequest.cesta Tento atribút vráti úplnú cestu požadovanej stránky. Schéma alebo doména nie sú zahrnuté vo vrátenej hodnote.
HttpRequest.cesta_info Tento atribút zobrazuje časť informácie o ceste tejto cesty.
HttpRequest.metóda Tento atribút zobrazuje metódu HTTP použitú pre požiadavku.
HttpRequest.schéma Tento atribút predstavuje schému požiadavky (HTTP alebo HTTPs).
HttpRequest.telo Tento atribút vráti nespracované telo požiadavky HTTP ako bajtový reťazec.
HttpRequest.ZÍSKAJTE Tento atribút vracia všetky parametre HTTP GET ako objekt slovníka.
HttpRequest.POST Tento atribút vracia všetky parametre HTTP POST ako objekt slovníka.
HttpRequest.COOKIES Tento atribút vracia všetky dostupné súbory cookie.
HttpRequest.SÚBORY Tento atribút obsahuje všetky nahrané súbory.
HttpRequest.META Tento atribút zobrazuje všetky dostupné hlavičky HTTP.
HttpRequest.Druh obsahu Tento atribút zobrazuje typ MIME požiadavky, ktorá je analyzovaná z hlavičky CONTENT_TYPE.
HttpRequest.content_params Tento atribút vráti objekt slovníka, ktorý je zahrnutý v hlavičke CONTENT_TYPE.
HttpRequest.kódovanie Tento atribút zobrazuje použité súčasné kódovanie na dekódovanie odoslaných údajov formulára.

Metódy HttpRequest:

Metóda Účel
HttpRequest.get_host () Používa sa na vrátenie skutočného názvu hostiteľa požiadavky.
HttpRequest.get_full_path () Používa sa na vrátenie cesty a reťazca dotazu, ak sú k dispozícii.
HttpRequest.get_port () Používa sa na vrátenie čísla portu požiadavky.
HttpRequest.is_secure () Ak je požiadavka zadaná pomocou protokolu HTTPS, vráti sa ako True, inak False.
HttpRequest.is_ajax () Ak je požiadavka zadaná pomocou XMLHttpRequest, vráti sa ako True, inak False.
HttpRequest.build_absolute_uri (umiestnenie) Používa sa na vrátenie absolútneho umiestnenia URI.
HttpRequest.get_signed_cookie (kľúč, predvolené = RAISE_ERROR, soľ = ”, max_age = žiadne) Používa sa na vrátenie hodnoty súboru cookie pre podpísaný súbor cookie alebo na zvýšenie djanga.jadro.podpisovanie.Výnimka BadSignature pre neplatný podpis.

Django HttpResponse:

HttpResponse trieda sa používa na spracovanie odpovede klienta, ktorá je definovaná v django.http modul. Atribúty tejto triedy sú uvedené nižšie.

Atribúty HttpResponse:

Názov atribútu Účel
HttpResponse.status_code Tento atribút vráti stavový kód HTTP odpovede
HttpResponse.znaková sada Znaková sada, ktorá sa používa na kódovanie odpovede, je definovaná týmto atribútom.
HttpResponse.streaming Predvolená hodnota tohto atribútu je False.
HttpResponse.obsah Tento atribút predstavuje obsah v bajtovom reťazci.
HttpResponse.dôvod_fráza Dôvodová veta protokolu HTTP odpovede je definovaná týmto atribútom.
HttpResponse.zatvorené Keď je odpoveď zatvorená, vráti tento atribút hodnotu True.

Metódy HttpResponse:

Metóda Popis
HttpResponse.__init__(content = ”, content_type = None, status = 200, reason = None, charset = None) Touto metódou sa inicializuje objekt HttpResponse s daným obsahom stránky a typom obsahu.
HttpResponse.__getitem__(hlavička) Touto metódou sa vráti hodnota názvu konkrétnej hlavičky.
HttpResponse.__setitem__(hlavička, hodnota) Táto metóda nastavuje konkrétnu hodnotu na názov konkrétnej hlavičky.
HttpResponse.__delitem__(hlavička) Touto metódou sa odstráni konkrétny názov hlavičky.
HttpResponse.setdefault(hlavička, hodnota) Týmto spôsobom sa nastavuje predvolená hodnota hlavičky.
HttpResponse.has_header(hlavička) Touto metódou sa kontroluje existencia konkrétneho názvu hlavičky.
HttpResponse.napíš(obsah) Touto metódou sa vytvorí objekt odpovede typu súbor.
HttpResponse.getvalue () Hodnota HttpResponse.touto metódou sa načítava obsah.
HttpResponse.čitateľné () Touto metódou sa vytvára prúdový objekt triedy HttpResponse.
HttpResponse.viditeľný () Táto metóda sa používa na to, aby bol objekt odpovede vyhľadávateľný.
HttpResponse.povedz () Táto metóda sa používa na vytvorenie inštancie HttpResponse ako objektu podobného súboru.
HttpResponse.spláchnuť() Táto metóda sa používa na vyprázdnenie objektu odpovede.

Predpoklady:

Pred precvičením scenára tohto tutoriálu musíte splniť nasledujúce úlohy:

A. Nainštalujte si Django verzie 3+ na Ubuntu 20+ (najlepšie)
B. Vytvorte projekt Django
C. Spustením servera Django skontrolujte, či server funguje správne alebo nie.

Inštalácia aplikácie Django:

A. Spustením nasledujúceho príkazu vytvorte aplikáciu Django s názvom reqresapp.

$ python3 spravovať.py startapp reqresapp

B. Spustením nasledujúceho príkazu vytvorte používateľa pre prístup k databáze Django. Ak ste používateľa nastavili už predtým, nemusíte tento príkaz spúšťať.

$ python3 spravovať.py vytvorí superužívateľa

C. Pridajte názov aplikácie do priečinka INSTALLED_APP časť nastavenie.py súbor.

INSTALLED_APPS = [

'reqresapp'
]

Upravte potrebné súbory:

Upravte zobrazenia.py súbor s nasledujúcim skriptom. The index () funkcia skriptu načíta cestu k žiadosti, metódu a užívateľského agenta pomocou troch HttpRequest atribúty. Ďalej sa tieto hodnoty odošlú do prehliadača pomocou HttpResponse () metóda.

názory.py

# Importovať HttResponse
od djanga.http import HttpResponse
# Definujte funkciu na spracovanie požiadavky a odpovede
def index (požiadavka):
cesta = požiadavka.cesta
metóda = požiadavka.metóda
userAgent = požiadavka.META ['HTTP_USER_AGENT']
# požiadavka sa vybavuje pomocou objektu HttpResponse
vrátiť HttpResponse ("

Testovanie cyklu odpovedí na žiadosť Django



Cesta požiadavky: „+ cesta +

Metóda požiadavky: „+ metóda +

Agent používateľa: "+ userAgent +"

„)

Upravte adresy URL.Súbor py s nasledujúcim skriptom na definovanie cesty volania súboru index () funkcia názory.py spis.

adresy URL.py

# Cesta importu
od djanga.cesta importu adries URL
# Pohľad na import
z reqresapp.zobrazenia import index
# Definujte cestu
urlpatterns = [
cesta (", index),
]

Spustením nasledujúceho príkazu spustite server Django.

$ python3 spravovať.py runserver

Spustením nasledujúcej adresy URL z prehliadača skontrolujte výstup aplikácie.

http: // localhost: 8000

Nasledujúci výstup zobrazuje hodnoty troch atribútov HttpRequest odoslaných HttpResponse.

Záver:

Ako sa dajú rôzne atribúty a metódy HttpRequest a HttpResponse použiť v aplikácii Django, zobrazuje tento návod. Používatelia Django budú môcť po prečítaní tohto tutoriálu používať objekty Django žiadosti a odpovede.

Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...
Hry 0 A.D. Výukový program
0 A.D. Výukový program
Z mnohých strategických hier je tu 0 A.D. dokáže vyniknúť ako komplexný titul a veľmi hlboká, taktická hra napriek tomu, že je otvoreným zdrojom. Vývo...
Hry Výukový program pre Unity3D
Výukový program pre Unity3D
Úvod do Unity 3D Unity 3D je výkonný nástroj na vývoj hier. Je to multiplatforma, ktorá vám umožňuje vytvárať hry pre mobilné telefóny, web, počítače ...