Korzystanie z obiektów żądania i odpowiedzi Django

Korzystanie z obiektów żądania i odpowiedzi Django
Cykl odpowiedzi na żądanie służy do przesyłania danych między klientem a serwerem we wszystkich typach interfejsów API Web. Architektura klienta-serwera jest używana w frameworku DJANGO do wdrożenia aplikacji internetowej. Żądanie i odpowiedź to dwa główne elementy aplikacji klient-serwer. Jakiś Httprequest Obiekt jest tworzony w aplikacji Django, gdy klient poprosi o dowolny zasób. Do obsługi żądania i wysyłania odpowiedzi za pomocą konkretnej funkcji widoku jest używana Httpresponse obiekt. Zastosowania różnych atrybutów i metod Httprequest I Httpresponse Klasy ramy Django zostaną wyjaśnione w tym samouczku.

Django Httprequest klasa:

Httprequest klasa służy do obsługi żądania klienta zdefiniowanego w Django.http moduł. Atrybuty tej klasy są wymienione poniżej.

Atrybuty httprequest:

Nazwa atrybutu Zamiar
Httprequest.ścieżka Pełna ścieżka żądanej strony jest zwracana przez ten atrybut. Schemat lub domena nie jest uwzględniona w zwróconej wartości.
Httprequest.ścieżka_info Część informacji o ścieżce tej ścieżki jest pokazywana tym atrybutem.
Httprequest.metoda Metoda HTTP zastosowana dla żądania jest pokazana przez ten atrybut.
Httprequest.schemat Schemat żądania (HTTP lub HTTPS) jest reprezentowany przez ten atrybut.
Httprequest.ciało Body żądania surowego HTTP jest zwracane jako ciąg bajtowy przez ten atrybut.
Httprequest.DOSTAWAĆ Wszystkie parametry GET HTTP są zwracane przez ten atrybut jako obiekt słownika.
Httprequest.POST Wszystkie parametry postu HTTP są zwracane przez ten atrybut jako obiekt słownika.
Httprequest.CIASTECZKA Wszystkie dostępne pliki cookie są zwracane przez ten atrybut.
Httprequest.AKTA Wszystkie przesłane pliki są zawierane przez ten atrybut.
Httprequest.Meta Wszystkie dostępne nagłówki HTTP są pokazywane przez ten atrybut.
Httprequest.Typ zawartości Typ MIME żądania, który jest analizowany z nagłówka Content_Type, jest pokazany przez ten atrybut.
Httprequest.content_params Obiekt słownika zawarty w nagłówku Content_Type jest zwracany przez ten atrybut.
Httprequest.kodowanie Zastosowane bieżące kodowanie do dekodowania przesłanych danych formularza jest wyświetlane przez ten atrybut.

Metody HTTPREQUEST:

metoda Zamiar
Httprequest.get_host () Służy do zwrotu faktycznej nazwy hosta żądania.
Httprequest.get_full_path () Służy do zwrotu ścieżki i ciągu zapytania, jeśli jest dostępne.
Httprequest.get_port () Służy do zwrócenia numeru portu żądania.
Httprequest.is_secure () Jeśli żądanie jest składane za pomocą HTTPS, wówczas zwraca się jako prawda, w przeciwnym razie Fałsz.
Httprequest.is_ajax () Jeśli żądanie jest składane za pomocą XMLHTTPREQUEST, wówczas zwraca się jako prawda, w przeciwnym razie Fałsz.
Httprequest.build_absolute_uri (Lokalizacja) Służy do zwrotu bezwzględnej lokalizacji URI.
Httprequest.get_signed_cookie (klucz, domyślnie = Raise_error, salt = ”, max_age = brak) Służy do zwrócenia wartości plików cookie dla podpisanego pliku cookie lub podnosi Django.rdzeń.Podpisanie.Badsignature Wyjątek dla nieprawidłowego podpisu.

Django httpresponse:

Httpresponse klasa służy do obsługi odpowiedzi klienta zdefiniowanego w Django.http moduł. Atrybuty tej klasy są wymienione poniżej.

Atrybuty httpresponse:

Nazwa atrybutu Zamiar
Httpresponse.Kod statusu Kod stanu HTTP odpowiedzi jest zwracany przez ten atrybut
Httpresponse.znak Rozgętanie, które jest używane do kodowania odpowiedzi, jest zdefiniowany przez ten atrybut.
Httpresponse.Streaming Domyślna wartość tego atrybutu jest fałszywa.
Httpresponse.treść Treść jest reprezentowana w ciągu bajtowego przez ten atrybut.
Httpresponse.PHRACE Wyrażenie o powodzie HTTP odpowiedzi jest zdefiniowane przez ten atrybut.
Httpresponse.Zamknięte Po zamknięciu odpowiedzi ten atrybut powróci.

Metody HTTPRESPESS:

metoda Opis
Httpresponse.__w tym__(content = ”, content_type = brak, status = 200, powód = brak, cechet = brak) Obiekt HTTPRESPESS z daną treścią strony i typem treści jest inicjowany przez tę metodę.
Httpresponse.__Zdobądź przedmiot__(nagłówek) Wartość konkretnej nazwy nagłówka jest zwracana przez tę metodę.
Httpresponse.__SetItem__(nagłówek, wartość) Konkretna wartość jest ustawiona na konkretną nazwę nagłówka tą metodą.
Httpresponse.__DELITEM__(nagłówek) Konkretna nazwa nagłówka jest usuwana przez tę metodę.
Httpresponse.setdefault(nagłówek, wartość) Domyślna wartość nagłówka jest ustawiona przez tę metodę.
Httpresponse.HAS_HEADER(nagłówek) Istnienie konkretnej nazwy nagłówka jest sprawdzane przez tę metodę.
Httpresponse.pisać(treść) Obiekt odpowiedzi podobny do pliku jest tworzony przez tę metodę.
Httpresponse.getValue () Wartość HTTPRESPESS.Treść jest pobierana przez tę metodę.
Httpresponse.czytelny() Ta metoda jest tworzona podobna do strumienia obiekt klasy HTTPResponse.
Httpresponse.szuka () Ta metoda służy do uczynienia obiektu odpowiedzi.
Httpresponse.powiedzieć() Ta metoda służy do utworzenia instancji HTTPResponse jako obiektu podobnego do pliku.
Httpresponse.spłukać() Ta metoda służy do wypłukania obiektu odpowiedzi.

Wymagania wstępne:

Przed ćwiczeniem scenariusza tego samouczka musisz wykonać następujące zadania:

A. Zainstaluj wersję Django 3+ na Ubuntu 20+ (najlepiej)
B. Utwórz projekt Django
C. Uruchom serwer Django, aby sprawdzić, czy serwer działa poprawnie lub nie.

Skonfiguruj aplikację Django:

A. Uruchom następujące polecenie, aby utworzyć aplikację Django o nazwie Reqresapp.

$ Python3 Zarządzaj.PY startApp reqresapp

B. Uruchom następujące polecenie, aby utworzyć użytkownika w celu uzyskania dostępu do bazy danych Django. Jeśli wcześniej uczyniłeś użytkownika, nie musisz uruchamiać polecenia.

$ Python3 Zarządzaj.PY CreateSuperuser

C. Dodaj nazwę aplikacji w Zainstalowany_app część Ustawienia.Pplik y.

Instalowane_apps = [

„Reqresapp”
]

Zmodyfikuj niezbędne pliki:

Zmodyfikuj widoki.plik py z następującym skryptem. indeks() Funkcja skryptu odczytuje ścieżkę żądania, metodę i agenta użytkownika za pomocą trzech Httprequest atrybuty. Następnie wartości te zostaną wysłane do przeglądarki za pomocą Httpresponse () metoda.

wyświetlenia.py

# Import HttResponse
z Django.HTTP Import HTTPRESPESS
# Zdefiniuj funkcję, aby obsłużyć żądanie i odpowiedź
indeks def (żądanie):
ścieżka = żądanie.ścieżka
metoda = żądanie.metoda
useragent = żądanie.Meta ['http_user_agent']
# żądanie jest obsługiwane za pomocą obiektu HTTPRESPONE
zwrócić HttPesponse (”

Testowanie cyklu odpowiedzi żądania Django


"
"

Ścieżka żądania: " + ścieżka +
"

Metoda żądania: „ + Metoda +
"

Agent użytkownika: „ + useragent +”

")

Zmodyfikuj adresy URL.plik py z następującym skryptem do zdefiniowania ścieżki do wywołania indeks() funkcja wyświetlenia.py plik.

URL.py

# Ścieżka importu
z Django.URL ścieżki importu
# Widok importu
Z ReqResapp.Wyświetla indeks importu
# Zdefiniuj ścieżkę
urlpatterns = [
ścieżka (", indeks),
]

Uruchom następujące polecenie, aby uruchomić serwer Django.

$ Python3 Zarządzaj.Py Runserver

Uruchom następujący adres URL z przeglądarki, aby sprawdzić wyjście aplikacji.

http: // localhost: 8000

Poniższe dane wyjściowe pokazuje wartości trzech atrybutów httprequest wysyłanych przez httpresponse.

Wniosek:

W tym samouczku pokazano różne atrybuty i metody HTTPREQUEST i HTTPRESPESS. Użytkownicy Django będą mogli użyć obiektów żądania i odpowiedzi Django po przeczytaniu tego samouczka.