Lista z bazy danych
Część sekcji Modele i panel administracyjny ścieżki Django w Coddy. Lekcja 13 z 23.
Na stronie głównej nadal znajdują się trzy tytuły wpisane bezpośrednio w widoku. Widoki i modele spotykają się w widoku: prosi on ORM o wiersze i przekazuje QuerySet do szablonu, tak jak wcześniej przekazywałeś(-aś) listę. Strona z książkami, których jeszcze nie przeczytałeś(-aś), mogłaby wyglądać tak:
from django.shortcuts import render
from .models import Book
def to_read(request):
books = Book.objects.filter(is_read=False)
return render(request, "books/to_read.html", {"books": books})Kropka w from .models oznacza własny folder tej aplikacji. W szablonie każdy element pętli jest obiektem Book, więc {{ book.title }} i {{ book.price }} odczytują jego pola, a samo {{ book }} wyświetla jego __str__.
Wyzwanie
Łatwy- W pliku
books/views.pyprzekaż szablonowi wszystkie książki z bazy danych jakobooks, zamiast wpisanej na sztywno listy. - W pliku
home.htmlwyświetl każdą książkę jako jej tytuł i rok w nawiasach, na przykładDune (1965).
Naciśnij Run i otwórz /. Dodaj książkę w karcie Shell, odśwież stronę, a książka pojawi się na liście.
Spróbuj swoich sił
from django.shortcuts import render
def home(request):
books = ["Dune", "Emma", "The Hobbit"]
return render(request, "books/home.html", {"books": books})
Wszystkie lekcje w sekcji Modele i panel administracyjny
Poćwicz samodzielnie: Edytor online Django