Menu
CoddyTech

עמוד מחבר

חלק מהיחידה מודלים וממשק הניהול במסלול ה-Django של Coddy. שיעור 23 מתוך 23.

החלק האחרון: לכל מחבר יש עמוד משלו, שאליו מובילים קישורים מכל מקום שבו מופיע שם של מחבר. זהו עמוד הספר שבנית ביחידה הזאת, עבור מודל אחר.

חשוב על שלוש הדרכים להגיע לשם. מבקר ב־/authors/ לוחץ על שם. מבקר בעמוד של ספר לוחץ על "by Frank Herbert". ומישהו מקליד כתובת של מחבר שאינו קיים, וצריך לקבל שגיאת 404, לא קריסה.

בנה כל קישור באמצעות {% url %} והמזהה של המחבר, כדי שהקישורים יתעדכנו בהתאם ל־urls.py אם הוא ישתנה אי פעם.

challenge icon

אתגר

בינוני

הציגו לכל מחבר דף בכתובת /authors/<id>/ בשם author_detail:

  • שם המחבר בתוך <h1>, וקישורים לספרים שלו.
  • מזהה שאין לו מחבר מחזיר 404.
  • בכתובת /authors/, כל שם בתוך <h2> מקשר לדף שלו.
  • בדף של ספר, שם המחבר מקשר לדף שלו.

לחצו על Run ואז לחצו על שם בכתובת /authors/.

נסו בעצמכם

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 iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה מודלים וממשק הניהול

תרגלו בעצמכם: Django אונליין