Menu
CoddyTech

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__.

challenge icon

Wyzwanie

Łatwy
  • W pliku books/views.py przekaż szablonowi wszystkie książki z bazy danych jako books, zamiast wpisanej na sztywno listy.
  • W pliku home.html wyświetl każdą książkę jako jej tytuł i rok w nawiasach, na przykład Dune (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