Menu
CoddyTech

Uma lista do banco de dados

Parte da seção Models e o Admin do Journey de Django da Coddy. Lição 13 de 23.

A página inicial ainda lista três títulos digitados diretamente na view. A view é onde a página obtém seus dados: ela pede linhas ao ORM e passa o QuerySet para o template, como você fez com uma lista antes. Uma página com os livros que você ainda não leu ficaria assim:

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

O ponto em from .models significa a pasta do próprio app. No template, cada item do loop é um Book, então {{ book.title }} e {{ book.price }} acessam seus campos, e {{ book }} sozinho exibe seu __str__.

challenge icon

Desafio

Fácil

Faça a página inicial listar os livros reais.

  1. Em books/views.py, passe ao template todos os livros do banco de dados como books, no lugar da lista digitada.
  2. Em home.html, mostre cada livro com seu título e ano entre parênteses, como Dune (1965).

Na aba Shell, digite Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00") e recarregue /: Beloved (1987) aparece no início da lista.

Experimente você mesmo

from django.shortcuts import render


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

Todas as lições de Models e o Admin

Pratique por conta própria: Playground de Django