Menu
CoddyTech

Un elenco dal database

Fa parte della sezione Modelli e pannello di amministrazione del percorso Django di Coddy. Lezione 13 di 23.

La pagina iniziale elenca ancora tre titoli inseriti direttamente nella vista. Le pagine e i modelli si incontrano nella vista: questa chiede all’ORM le righe e passa il QuerySet al template, come prima passavi una lista. Una pagina con i libri che non hai ancora letto potrebbe essere:

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})

Il punto in from .models indica la cartella di questa app. Nel template, ogni elemento del ciclo è un Book, quindi {{ book.title }} e {{ book.price }} leggono i suoi campi, mentre {{ book }} da solo stampa il suo __str__.

challenge icon

Sfida

Facile
  • In books/views.py, passa al template tutti i libri presenti nel database come books, al posto dell’elenco scritto manualmente.
  • In home.html, mostra ogni libro con il titolo e l’anno tra parentesi, come Dune (1965).

Premi Run e apri /. Aggiungi un libro nella scheda Shell, ricarica la pagina e lo troverai nell’elenco.

Provalo tu

from django.shortcuts import render


def home(request):
    books = ["Dune", "Emma", "The Hobbit"]
    return render(request, "books/home.html", {"books": books})

Tutte le lezioni di Modelli e pannello di amministrazione

Esercitati da solo: Playground Django