Menu
CoddyTech

Eine Liste aus der Datenbank

Teil des Abschnitts Modelle und Admin-Bereich der Django-Journey von Coddy. Lektion 13 von 23.

Auf der Startseite werden weiterhin drei Titel angezeigt, die in die Ansicht eingetragen sind. Die Ansicht liefert die Daten für die Seite: 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 bezeichnet den Ordner dieser App. Im Template ist jedes Element der Schleife ein Book, daher greifen {{ book.title }} und {{ book.price }} auf seine Felder zu, und {{ book }} allein gibt sein __str__ aus.

challenge icon

Aufgabe

Einfach

Lass die Startseite die tatsächlichen Bücher auflisten.

  1. Gib in books/views.py der Vorlage jedes Buch in der Datenbank als books statt der fest eingetragenen Liste weiter.
  2. Zeige in home.html jedes Buch mit seinem Titel und Jahr in Klammern an, zum Beispiel Dune (1965).

Gib im Shell-Tab Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00") ein und lade / neu: Beloved (1987) steht an erster Stelle 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