Menu
CoddyTech

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

challenge icon

Wyzwanie

Łatwy

Niech strona główna wyświetla prawdziwe książki.

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