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 na view. Páginas e modelos se encontram na view: ela consulta o ORM para obter linhas e entrega o QuerySet ao template, como você fez com uma lista antes. Uma página com os livros que você ainda não leu seria 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 indica 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 apenas {{ book }} exibe seu __str__.

challenge icon

Desafio

Fácil
  • Em books/views.py, passe ao modelo todos os livros do banco de dados como books, em vez da lista digitada.
  • Em home.html, mostre cada livro com seu título e ano entre parênteses, como Dune (1965).

Pressione Run e abra /. Adicione um livro na aba Shell, recarregue a página e ele estará na 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