Menu
CoddyTech

Halaman Seorang Penulis

Termasuk bagian Model dan Admin dalam perjalanan Django di Coddy. Pelajaran 23 dari 23.

Bagian terakhir: setiap penulis mendapat halamannya sendiri, yang ditautkan dari setiap kemunculan nama penulis. Ini adalah halaman buku yang kamu buat di bagian ini, untuk model lainnya.

Pikirkan tiga cara untuk membuka halaman itu. Pengunjung di /authors/ mengeklik sebuah nama. Pengunjung di halaman sebuah buku mengeklik "by Frank Herbert". Dan seseorang mengetik alamat penulis yang tidak ada, lalu seharusnya mendapat 404, bukan mengalami crash.

Buat setiap tautan dengan {% url %} dan id penulis, agar tautannya mengikuti urls.py jika suatu saat berubah.

challenge icon

Tantangan

Sedang

Buat halaman untuk setiap penulis di /authors/<id>/ dengan nama author_detail:

  • Nama penulis di dalam <h1>, dan tautan ke buku-bukunya.
  • ID yang tidak memiliki penulis akan menghasilkan 404.
  • Di /authors/, setiap nama di dalam <h2> tertaut ke halaman tersebut.
  • Di halaman buku, nama penulis tertaut ke halaman penulis.

Tekan Jalankan dan klik nama di /authors/.

Coba sendiri

from django.shortcuts import get_object_or_404, render

from .models import Author, Book


def home(request):
    books = Book.objects.select_related("author")
    return render(request, "books/home.html", {"books": books})


def book_detail(request, pk):
    book = get_object_or_404(Book, pk=pk)
    return render(request, "books/book_detail.html", {"book": book})


def search(request):
    q = request.GET.get("q", "")
    books = Book.objects.filter(title__icontains=q).select_related("author")
    return render(request, "books/search.html", {"q": q, "books": books})


def author_list(request):
    authors = Author.objects.prefetch_related("books")
    return render(request, "books/author_list.html", {"authors": authors})
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Model dan Admin

Latihan sendiri: Playground Django