Menu
CoddyTech

قائمة من قاعدة البيانات

جزء من قسم النماذج ولوحة الإدارة في رحلة Django على Coddy. الدرس 13 من 23.

لا تزال الصفحة الرئيسية تعرض ثلاثة عناوين كُتبت مباشرةً في العرض. العرض هو المكان الذي تحصل منه الصفحة على بياناتها: فهو يطلب الصفوف من 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

التحدي

سهل

اجعل الصفحة الرئيسية تعرض قائمة بالكتب الفعلية.

  1. في books/views.py، مرّر إلى القالب كل كتاب في قاعدة البيانات باسم books بدلًا من القائمة المكتوبة يدويًا.
  2. في home.html، اعرض كل كتاب بعنوانه وسنته بين قوسين، مثل Dune (1965).

في علامة تبويب Shell، اكتب Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00") ثم أعد تحميل /: يتصدر Beloved (1987) القائمة.

جرّب بنفسك

from django.shortcuts import render


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

جميع دروس النماذج ولوحة الإدارة

تدرّب بنفسك: Playground لـ Django