Django Academy · درس

‏render() وسياق القالب

مرّر البيانات من View إلى قالب

الدرس 1 من 413 خطوة

‏render() وسياق القالب درس مجاني في Django Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Django Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Django Academy 4 دروس في المجموع.

القوالب تحتوي على HTML الخاص بك

القالب template هو ملف HTML يحتوي على عناصر نائبة بسيطة. ويملأ العرض هذه الفراغات ببيانات فعلية قبل وصولها إلى المتصفح. 🎨

تعرّف على السياق

السياق context هو مجرد قاموس Python يمرره العرض إلى القالب. وتصبح مفاتيحه المتغيرات التي يمكنك طباعتها داخل الصفحة.

context = {"name": "Ada", "count": 3}

يربط render() كل شيء

يأخذ الاختصار render() الطلب واسم القالب والسياق، ثم يُرجع لك HttpResponse مكتملًا.

from django.shortcuts import render

عرض صغير يعرض قالبًا

يمرّر العرض هنا قيمة واحدة إلى قالب. لاحظ كيف يتولى render() كل عمليات التحميل وإعداد الاستجابة في سطر واحد.

def hello(request):
    return render(request, "hello.html", {"name": "Ada"})

طباعة متغير

داخل القالب، تطبع قيمة من السياق باستخدام قوسين معقوفين مزدوجين. وتستبدل Django {{ name }} بالقيمة التي أرسلها العرض.

<h1>Hello, {{ name }}!</h1>

مكان وجود القوالب

تبحث Django عن القوالب في مجلد templates، وعادةً ما يوجد مجلد واحد لكل تطبيق. ويتيح إبقاء القوالب هناك للمحمّل العثور على كل ملف باسمه.

myapp/templates/myapp/hello.html

مساحات الأسماء تمنع التعارضات

يُعد وضع القوالب داخل مجلد فرعي يحمل اسم التطبيق مساحة أسماء. ويمنع ذلك تطبيقين من التنافس على اسم الملف نفسه.

templates/blog/post.html

الوصول بالنقاط في القوالب

تستخدم لغة القوالب النقطة لكل شيء: تُقرأ مفاتيح القواميس وسمات الكائنات وعناصر القوائم جميعًا بصيغة value.key.

<p>{{ user.email }}</p>

المفاتيح المفقودة لا تُحدث ضجيجًا

إذا كان متغير في السياق مفقودًا، تطبع Django سلسلة فارغة بدلًا من التعطل. ويمنع هذا الفشل الصامت الصفحات من التعطل بسبب نواقص صغيرة.

تمرير عدة قيم

يمكن أن يحتوي سياقك على أي عدد تريده من المفاتيح، مع مزج السلاسل والأرقام والقوائم والكائنات. ويقرأ القالب كل قيمة باستخدام مفتاحها.

return render(request, "page.html", {"posts": posts, "total": 5})

القوالب خفيفة المنطق

نفّذ العمل المعقد في العرض، لا في الصفحة. ينبغي أن يقتصر القالب غالبًا على عرض البيانات، مع إبقاء العرض والمنطق منفصلين بوضوح.

تحقق سريع

فكّر في كيفية انتقال البيانات من العرض إلى الصفحة.

مراجعة: من العرض إلى الصفحة

تعلمت أن render() يضم الطلب والقالب وقاموس السياق في استجابة واحدة، وأن {{ }} تطبع تلك القيم. والآن ننتقل إلى الوسوم والمرشحات.

البدء مجانًا

تعلم Python مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «‏render() وسياق القالب» مجاني؟

نعم — نص درس «‏render() وسياق القالب» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Django Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Django Academy 4 دروس في المجموع.

ماذا ستتعلم في «‏render() وسياق القالب»؟

مرّر البيانات من View إلى قالب تتمرن على Django Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Django Academy؟

لا تُشترط خبرة سابقة. Django Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «‏render() وسياق القالب»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Django Academy هذا؟

نعم. كل درس في Django Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ‏render() وسياق القالب
  2. وسوم القوالب والمرشحات
  3. وراثة القوالب باستخدام extends وblock
  4. وسما url وstatic
← العودة إلى Django Academy