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

التحدي

سهل
  • في 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})

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

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