قائمة من قاعدة البيانات
جزء من قسم النماذج ولوحة الإدارة في رحلة 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__ الخاص به.
التحدي
سهل- في
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