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__.
Desafio
Fácil- Em
books/views.py, passe ao modelo todos os livros do banco de dados comobooks, em vez da lista digitada. - Em
home.html, mostre cada livro com seu título e ano entre parênteses, comoDune (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