التمرين - إنشاء طرق العرض
نريد تحديث تطبيقنا لتوفير قائمة ملاجئ الكلاب. نريد أيضاً أن يسمح التطبيق لشخص ما بالنقر فوق ملجأ واحد أو الضغط عليه لرؤية التفاصيل. سنقوم بذلك عن طريق إنشاء طريقتي عرض ثم تسجيل المسارات المناسبة.
إنشاء طرق العرض
في Visual Studio Code، افتح dog_shelters/views.py.
في نهاية السطر الذي يحمل النص
from django.shortcuts import render
، أضف, get_object_or_404
. يجب أن يحتوي السطر الآن على ما يلي:from django.shortcuts import render, get_object_or_404
أسفل السطر الذي يحمل النص
from django.shortcuts import render
، أضف تعليمات Python البرمجية التالية لاستيراد النماذج الخاصة بك:from . import models
في نهاية views.py، أضف التعليمات البرمجية التالية لتحميل جميع الملاجئ، وقم بإنشاء كائن السياق للقالب، وبعد ذلك اعرض القالب للمستخدم. سيصبح ذلك طريقة عرض القائمة الخاصة بالملاجئ والصفحة الافتراضية لموقعنا.
def shelter_list(request): shelters = models.Shelter.objects.all() context = {'shelters': shelters} return render(request, 'shelter_list.html', context)
في نهاية views.py، أضف التعليمات البرمجية التالية لتحميل ملجأ محدد من خلال
pk
الخاص به أو المفتاح الأساسي، وقم بإنشاء كائن السياق للقالب، وبعد ذلك اعرض القالب للمستخدم. سيصبح ذلك هو الصفحة التي تشمل التفاصيل الخاصة بأحد الملاجئ.def shelter_detail(request, pk): shelter = get_object_or_404(models.Shelter, pk=pk) context = {'shelter': shelter} return render(request, 'shelter_detail.html', context)
إنشاء URLconf
لتكون طرق العرض لدينا قابلة للاستدعاء، نحتاج إلى تسجيل المسارات المناسبة.
قم بإنشاء ملف جديد في dog_shelters باسم urls.py.
أضف التعليمات البرمجية التالية لتسجيل المسارات لطريقتي العرض التي أنشأناهما:
from django.urls import path from . import views urlpatterns = [ path('', views.shelter_list, name='shelter_list'), path('shelter/<int:pk>', views.shelter_detail, name='shelter_detail'), # More patterns to come later ]
لاحظ أننا أنشأنا مساراً افتراضياً (''
) للإشارة إلى طريقة عرض shelter_list
الخاصة بنا. وقمنا أيضاً بتسجيل shelter/<int:pk>
لتخصيص مرجع لطريقة عرضنا shelter_detail
. كما موضح سابقاً، سيتم تمرير pk
كالمعلمة pk
إلى shelter_detail
.
تسجيل URLconf في مشروعنا
يستخدم Django ملف urls.py أساسياً واحداً كـ URLconf الخاص به. ونتيجة لذلك، نحن بحاجة إلى التأكد من أن الملف الذي أنشأناه تم تسجيله بشكل صحيح.
افتح project/urls.py.
باتجاه أسفل الملف، ابحث عن السطر 17، الذي يحمل النص:
from django.urls import path
في نهاية السطر، أضف
, include
. يجب أن يكون السطر الجديد رقم 17 الآن كما يلي:from django.urls import path, include
أسفل السطر الذي يحمل النص
TODO: Register URLconf
، أضف الآتي:# TODO: Register URLconf path('', include('dog_shelters.urls')),
هام
يتطلب وجود الفاصلة اللاحقة.
احفظ جميع الملفات من خلال تحديد "File">"Save All".