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