Menu
CoddyTech

데이터베이스에서 목록 가져오기

Coddy Django 여정의 모델과 관리자 섹션에 포함된 레슨. 23개 중 13번째.

홈 페이지에는 여전히 뷰에 직접 입력한 세 개의 제목이 나열되어 있습니다. 페이지와 모델은 뷰에서 만납니다. 뷰는 ORM에 행을 요청하고 QuerySet을 템플릿에 전달합니다. 이전에 목록을 전달했던 방식과 같습니다. 아직 읽지 않은 책을 보여 주는 페이지는 다음과 같습니다.

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

from .models의 점은 이 앱 자체의 폴더를 의미합니다. 템플릿에서 반복문의 각 항목은 Book이므로 {{ book.title }}과 {{ book.price }}는 해당 필드를 읽고, {{ book }}만 쓰면 __str__을 출력합니다.

challenge icon

챌린지

쉬움
  • books/views.py에서 데이터베이스의 모든 책을 직접 입력한 목록 대신 books로 템플릿에 전달하세요.
  • home.html에서 각 책을 대괄호 안에 연도와 함께 제목으로 표시하세요. 예: Dune (1965).

실행을 누르고 /를 여세요. Shell 탭에서 책을 추가한 다음 페이지를 새로고침하면 목록에 표시됩니다.

직접 해보기

from django.shortcuts import render


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

모델과 관리자의 모든 레슨

직접 연습해 보세요: Django 플레이그라운드