Lista z bazy danych
Część sekcji Modele i panel administracyjny ścieżki Django w Coddy. Lekcja 13 z 23.
Strona główna nadal wyświetla trzy tytuły wpisane w widoku. Widok to miejsce, z którego strona pobiera dane: wysyła zapytanie do ORM o wiersze i przekazuje QuerySet do szablonu, tak jak wcześniej przekazywałeś listę. Strona z książkami, których jeszcze nie przeczytałeś, 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 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
ŁatwyNiech strona główna wyświetla prawdziwe książki.
- W
books/views.pyprzekaż szablonowi wszystkie książki z bazy danych jakobooks, zamiast wpisanej na stałe listy. - W
home.htmlwyświetl każdą książkę jako jej tytuł i rok w nawiasach, na przykładDune (1965).
W karcie Shell wpisz Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00") i odśwież /: Beloved (1987) pojawi się na początku listy.
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