Django

Jak tworzyć widoki Django?

Jak tworzyć widoki Django?
Różne typy danych aplikacji Django, takie jak zawartość HTML, dane XML, dane JSON, obraz, błąd 404 itp. są przenoszone do szablonu przez widok Django. Każdy widok jest tworzony w określonym celu i powiązany z określonym szablonem. Dane widoku mogą być generowane od użytkownika poprzez formularz HTML lub z bazy danych lub logiki biznesowej. Widoki Django można tworzyć za pomocą metody klasy Pythona lub funkcji Pythona. Widoki oparte na klasach zawierają wiele funkcji w porównaniu do widoków opartych na funkcjach. W tym celu większość aplikacji Django używa widoków opartych na klasach do reprezentowania danych aplikacji Django. W tym samouczku wyjaśniono sposoby tworzenia widoku opartego na funkcjach i widoku opartego na klasach.

Wymagania wstępne:

Zanim zaczniesz ćwiczyć przykłady z tego samouczka, musisz wykonać następujące zadania:

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

Skonfiguruj aplikację Django:

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

$ python3 zarządzaj.py startapp viewapp

b. Aby utworzyć użytkownika umożliwiającego dostęp do bazy danych Django, uruchom następujące polecenie. Jeśli utworzyłeś użytkownika wcześniej, pomiń tę część:

$ python3 zarządzaj.py tworzy superużytkownik

do. Dodaj nazwę aplikacji w części INSTALLED_APP w ustawieniach.plik py.

INSTALLED_APPS = [

„aplikacja do przeglądania”
]

re. Utwórz folder o nazwie szablony w środku aplikacja do przeglądania 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 funkcjach:

Otworzyć wyświetlenia.py plik z aplikacja do przeglądania folder i zastąp zawartość tego pliku następującym skryptem. indeks() funkcja służy w skrypcie do tworzenia treści HTML, która zostanie wysłana do przeglądarki za pomocą Odpowiedź HTTP() metoda. Tutaj aktualna data i godzina systemu zostanie odczytana za pomocą dzisiaj () funkcja i aktualna wartość daty zostaną wygenerowane przed wysłaniem do przeglądarki.

Wyświetlenia.py

# Zaimportuj moduł daty, aby odczytać aktualną datę
od datetime data importu
# Zaimportuj moduł HttpResponse, aby wysłać dane z widoku do szablonu
z django.http import HttpResponse
# Zdefiniuj funkcję, aby utworzyć widok oparty na funkcjach
indeks def(żądanie):
# Przeczytaj aktualną datę
dzisiaj = data.dzisiaj()
# Ustaw dane statyczne dla widoku
treść = "

Witamy w LinuxHint

"
treść += „Dzisiaj jest” + dzisiaj.strftime("%B") + " " + dzisiaj.strftime("%d") + ", " + str(dzisiaj.rok) + "

"
# Wyślij zawartość do przeglądarki
zwróć HttpResponse(treść)

Zmodyfikuj zawartość adresy URL.py plik z następującym skryptem. W scenariuszu 'Witamy/' ścieżka jest zdefiniowana do wywołania indeks() funkcja, która wyśle ​​zawartość HTML do pliku szablonu.

adresy URL.py

# Importuj moduł ścieżki
z django.Ścieżka importu adresów URL
# Importuj moduł widoku
z widoków importu viewapp
# Wywołaj metodę indeksowania, aby wyświetlić zawartość
wzory url = [
# Zdefiniuj ścieżkę do wywołania funkcji index()
path('welcome/', widoki.indeks)
]

Uruchom następujący adres URL w przeglądarce, który wyświetli następujące dane wyjściowe. Sformatowany tekst nagłówka i bieżąca wartość daty są wyświetlane w danych wyjściowych.

http://localhost:8000/welcome/

Utwórz prosty widok oparty na klasach:

Stwórz widoki2.py plik wewnątrz folderu viewapp i dodaj następujący skrypt. Mój widok klasa jest zdefiniowana w skrypcie, który zawiera metodę o nazwie otrzymać(). Zmienna listy o nazwie lista danych jest zadeklarowana w skrypcie, aby utworzyć listę 10 liczb losowych. Wartości z listy zostaną przekazane do szablonu poprzez Odpowiedź HTTP() metoda, gdy ten widok jest wywoływany. losowy moduł został użyty w skrypcie do wygenerowania losowej liczby całkowitej w każdej iteracji dla pętla za pomocą randint() funkcjonować.

widoki2.py

# Zaimportuj moduł HttpResponse, aby wysłać dane z widoku do szablonu
z django.http import HttpResponse
# Importuj moduł widoku
z django.widoki importuj widok
# Importuj losowy moduł
importuj losowo
# Zdefiniuj klasę dla widoków opartych na klasach
klasa MyView(Widok):
def get(self, request):
# Zadeklaruj zmienną listy
lista danych = []
# Dodaj pierwszy element listy
lista danych.dodać('

Lista 10 liczb losowych to:

')
# Powtórz pętlę 10 razy
dla n w zakresie(10):
# Wygeneruj losową liczbę w zakresie od 1 do 50
liczba_losowa = losowa.ranint(1, 50)
# Dodaj losową liczbę na liście
lista danych.dołącz(losowa_liczba)
# Dodaj element przerwy na liście
lista danych.dodać('
')
# Dodaj ostatni element listy
lista danych.dodać('
')
# Wyślij wartości listy do przeglądarki
return HttpResponse(listdata)

Zmodyfikuj zawartość adresy URL.py plik z następującym skryptem. W skrypcie „numer/” ścieżka jest zdefiniowana do wywołania Mój widok.as_view() metoda, która wyśle ​​dane listy do pliku szablonu.

adresy URL.py

# Importuj moduł ścieżki
z django.Ścieżka importu adresów URL
# Importuj moduł widoku
z widoków importu viewapp
# Importuj klasę MyView
z aplikacji do przeglądania.widoki2 importuj MyView
# Wywołaj metodę get klasy MyView
wzory url = [
# Zdefiniuj ścieżkę do wywołania funkcji index()
path('welcome/', widoki.indeks),
# Zdefiniuj ścieżkę do wywołania MyView.metoda as_view()
ścieżka('liczba/', MyView.as_view()),
]

Uruchom następujący adres URL w przeglądarce, który wyświetli następujące dane wyjściowe. Numery wyjścia zostaną zmienione, jeśli strona zostanie odświeżona, ponieważ każdy numer listy będzie generowany losowo.

http://localhost:8000/liczba/

Wniosek:

Dane wyjściowe aplikacji internetowej zależą od skryptu pliku widoku, który jest główną częścią każdej aplikacji internetowej. Widoki oparte na funkcjach są najczęściej używane we wczesnej wersji aplikacji Django, a teraz widoki oparte na klasach są używane w większości aplikacji Django. W tym samouczku pokazano sposoby tworzenia obu typów widoków, aby pomóc nowym użytkownikom Django w tworzeniu swoich widoków na podstawie ich aplikacji.

Gry How to Install and Play Doom on Linux
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Gry Vulkan for Linux Users
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
Gry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...