Jak tworzyć widoki Django?

Jak tworzyć widoki Django?
Różne typy danych aplikacji Django, takie jak treść HTML, dane XML, dane JSON, obraz, 404 Błąd itp. są przenoszone do szablonu przez widok Django. Każdy widok jest tworzony w określonym celu i powiązany z konkretnym szablonem. Dane widoku można wygenerować z użytkownika za pośrednictwem formularza HTML lub z bazy danych lub logiki biznesowej. Widoki Django można tworzyć przy użyciu metody klasy Python lub funkcji Pythona. Widoki klasowe zawierają wiele funkcji w porównaniu z widokami opartymi na funkcji. W tym celu większość aplikacji Django używa widoków klasowych do przedstawienia danych aplikacji Django. W tym samouczku wyjaśniono sposoby tworzenia widoku opartego na funkcji i widoku klasowego.

Wymagania wstępne:

Przed ćwiczeniem przykładów tego samouczka musisz wykonać następujące zadania:

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

Skonfiguruj aplikację Django:

A. Aby utworzyć aplikację Django o nazwie ViewApp, uruchom następujące polecenie:

$ Python3 Zarządzaj.PY startapp viewApp

B. Aby utworzyć użytkownika w celu uzyskania dostępu do bazy danych Django, uruchom następujące polecenie. Jeśli wcześniej utworzyłeś użytkownika, pomiń tę część:

$ Python3 Zarządzaj.PY CreateSuperuser

C. Dodaj nazwę aplikacji w części instalowanej_pp.plik py.

Instalowane_apps = [

„viewApp”
]

D. Utwórz folder o nazwie szablony w środku ViewApp folder i ustaw szablon Lokalizacja aplikacji w Szablony część Ustawienia.py plik.

Szablony = [

… .
„Dirs”: ['/home/fahmida/django_pro/viewApp/Templates']],
… .
,
]

Utwórz prosty widok oparty na funkcji:

Otworzyć wyświetlenia.py plik z ViewApp folder i zastąp zawartość tego pliku następującym skryptem. indeks() Funkcja jest używana w skrypcie do utworzenia zawartości HTML, która zostanie wysłana do przeglądarki za pomocą Httpresponse () metoda. Tutaj bieżąca data i godzina systemu zostaną odczytane za pomocą Dzisiaj () Funkcja i bieżąca wartość daty zostaną wygenerowane przed wysłaniem do przeglądarki.

Wyświetlenia.py

# Zaimportuj moduł daty, aby odczytać bieżącą datę
Od daty datetime daty importu
# Zaimportuj moduł HTTPResponse, aby wysłać dane z widoku do szablonu
z Django.HTTP Import HTTPRESPESS
# Zdefiniuj funkcję, aby utworzyć widok oparty na funkcji
indeks def (żądanie):
# Przeczytaj aktualną datę
Dzisiaj = data.Dzisiaj()
# Ustaw dane statyczne dla widoku
content = "

Witamy w Linuxhint

"
content + = „Dzisiaj jest” + dzisiaj.Strftime („%b”) + „” + dzisiaj.Strftime („%d”) + ”,„ + str (dzisiaj.Rok) + ”

"
# Wysłano treść do przeglądarki
return httpresponse (treść)

Zmodyfikuj zawartość URL.py Plik z następującym skryptem. W skrypcie 'Witamy/' Ścieżka jest zdefiniowana, aby zadzwonić indeks() funkcja, która wyśle ​​zawartość HTML do pliku szablonu.

URL.py

# Moduł ścieżki importu
z Django.URL ścieżki importu
# Importuj moduł widoku
z widoków importu ViewApp
# Metoda indeksu wywołania do wyświetlania treści
urlpatterns = [
# Zdefiniuj ścieżkę do funkcji wywołania index ()
ścieżka („Witamy/”, widoki.indeks)
]

Uruchom następujący adres URL z przeglądarki, który pokaże następujące dane wyjściowe. Sformatowany tekst nagłówka i bieżąca wartość daty są pokazane na wyjściu.

http: // localhost: 8000/wita/

Utwórz prosty widok klasowy:

Stwórz Widoki2.py Plik wewnątrz folderu ViewApp i dodaj następujący skrypt. Mój widok klasa jest zdefiniowana w skrypcie zawierającym metodę nazwaną Dostawać(). Zmienna listy o nazwie ListData jest zadeklarowany w skrypcie, aby utworzyć listę 10 liczb losowych. Wartości listy zostaną przekazane do szablonu przez Httpresponse () Metoda, gdy ten widok jest wywoływany. losowe Moduł został użyty w skrypcie do generowania losowej liczby całkowitej w każdej iteracji Do pętla za pomocą Randint () funkcjonować.

Widoki2.py

# Zaimportuj moduł HTTPResponse, aby wysłać dane z widoku do szablonu
z Django.HTTP Import HTTPRESPESS
# Importuj moduł widoku
z Django.Widoki Importuj widok
# Importuj moduł losowy
Import losowy
# Zdefiniuj klasę dla widoków klasowych
klasa myview (widok):
def get (self, żądanie):
# Deklaruj zmienną listę
ListData = []
# Dodaj pierwszy element listy
ListData.dodać('

Lista 10 losowych liczb to:

')
# Iteruj pętlę na 10 razy
dla n w zakresie (10):
# Wygeneruj liczbę losową w odległości 1 do 50
Random_number = Random.Randint (1, 50)
# Dodaj liczbę losową na liście
ListData.append (Random_number)
# Dodaj element przerwy na liście
ListData.dodać('
')
# Dodaj ostatni element listy
ListData.dodać('')
# Wyślij wartości listy do przeglądarki
return httpresponse (ListData)

Zmodyfikuj zawartość URL.py Plik z następującym skryptem. W scenariuszu „numer/”Ścieżka jest zdefiniowana, aby zadzwonić do Mój widok.as_view () metoda, która wyśle ​​dane z listy do pliku szablonu.

URL.py

# Moduł ścieżki importu
z Django.URL ścieżki importu
# Importuj moduł widoku
z widoków importu ViewApp
# Importuj klasę myview
z ViewApp.Widoki2 Importuj MyView
# Zadzwoń metodę GET MyView Class
urlpatterns = [
# Zdefiniuj ścieżkę do funkcji wywołania index ()
ścieżka („Witamy/”, widoki.indeks),
# Zdefiniuj ścieżkę, aby zadzwonić.metoda as_view ()
ścieżka („numer/”, myview.as_view ()),
]

Uruchom następujący adres URL z przeglądarki, który pokaże następujące dane wyjściowe. Liczba wyjścia zostanie zmieniona, jeśli strona zostanie odświeżona, ponieważ każda liczba listy zostanie wygenerowana losowo.

http: // localhost: 8000/liczba/

Wniosek:

Wyjście aplikacji internetowej zależy od skryptu pliku widoku, który jest główną częścią dowolnej aplikacji internetowej. Widoki oparte na funkcji są najczęściej używane we wczesnej wersji aplikacji Django, a teraz w większości aplikacji Django używane są oparte na klasach. W tym samouczku pokazano sposoby tworzenia obu rodzajów widoków.