Eine Liste aus der Datenbank
Teil des Abschnitts Modelle und Admin-Bereich der Django-Journey von Coddy. Lektion 13 von 23.
Die Startseite listet weiterhin drei Titel auf, die in die View geschrieben wurden. In der View treffen Seiten und Modelle aufeinander: Sie fragt das ORM nach Zeilen und übergibt das QuerySet an das Template, so wie du zuvor eine Liste übergeben hast. Eine Seite mit den Büchern, die du noch nicht gelesen hast, könnte so aussehen:
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})Der Punkt in from .models bedeutet, dass es sich um den eigenen Ordner dieser App handelt. Im Template ist jedes Element der Schleife ein Book, daher lesen {{ book.title }} und {{ book.price }} seine Felder aus, und {{ book }} allein gibt sein __str__ aus.
Aufgabe
Einfach- Gib in
books/views.pyder Vorlage alle Bücher aus der Datenbank alsbooksstatt der fest codierten Liste. - Zeige in
home.htmljedes Buch mit seinem Titel und Jahr in Klammern an, wie beiDune (1965).
Klicke auf „Run“ und öffne /. Füge im Tab „Shell“ ein Buch hinzu, lade die Seite neu, und es erscheint in der Liste.
Probier es selbst
from django.shortcuts import render
def home(request):
books = ["Dune", "Emma", "The Hobbit"]
return render(request, "books/home.html", {"books": books})
Alle Lektionen in Modelle und Admin-Bereich
Übe selbstständig: Django-Playground