حقن القوالب
في هذا الدرس ان شاء الله سنتعلم كيفية حقن القوالب
وسيكون تكملة للدرس السابق التعامل مع القوالب
وسنتعامل مع نفس الدالة التي قمنا بانشائها
home_template
كما في الدرس السابق لدينا دالة تعيد لنا
return render(request, 'blog/home.html', context={})
context
عباره عن
dictionary او مايعرف بالقاموس
والدكشنري في بايثون او غيرها من اللغات
تتكون من مفتاح وقيمة
المفتاح هو ماسنستخدمة داخل ملفات html اما القيمة هي التي ستظهر بداخل القالب
سنتظرق تدريجيا
سنضع رسالة ترحيبية لها مفتاح كما في الصورة التالية
h هو المفتاح للرسالة الترحيبية
الان سنذهب الى قالبنا وتحديدا ملف home.html
سنقوم بحقن المفتاح بداخله
وطريقة الحقن كالتالي
{{ h }}
يكون المفتاح بين علامتين معكوفتين
كما في الصورة التالية
نذهب الى المتصفح الان لنرى النتيجة
http://127.0.0.1:8000/template
ستكون النتيجة التالية
جميل جدا
--------------------------------------------------------------------------
سننتقل الى اشياء متقدمة قليلا بطريقة الحقن والتحكم من داخل القوالب
سنقوم بداخل دالتنا home_template
نقوم بتعريف متغيرات
من عدة انواع نصوص ارقام مصفوفات صحيح وخاطئ الى اخره
كما في الصورة التالية
نقوم بعمل متغير context
لنضع فيه المفاتيح لجميع المتغيرات السابقة
فقط للترتيب بدل ان نقوم بوضع المفاتيح والقيم داخل دالة render
سنضعها داخل متغير كما في الصورة التالية
سابقا كنا نعيد القاموس بداخل المعامل الثالث للدالة render
كالتالي
return render(request, 'blog/home.html', context={})
الان سنقوم بوضع المتغير context
الذي قمنا بانشائه داخل الدالة
ليصبح كالتالي
بعد ان انتهينا
سنقوم باستدعاء ماسبق من متغيرات بداخل ملف home.html
انظر الصورة
استدعينا النص {{ s }}
والرقم عن طريق المفتاح {{ m }}
واللستة عن طريق المفتاح {{ object_list }}
بعد تشغيل السيرفر والذهاب للمتصفح
نرى النتيجة
جميل جدا
عادت قيمة اللسته عباره عن لستة
الان كيف سنعمل حلقة دوران على اللستة
في جانغو سنستخدم
{% for foo in list %}
{% endfor %}
وللشروط في القوالب سنستخدم
{% if any %}
{% endif %}
انظر الى الصورة التالية كيفية التعامل مع اللستة
قمنا بعمل حلقة على محتويات اللستة object_list وعرفنا اسم جديد لها باسم foo
وقمنا بطباعتها عباره عن order list باستخدام وسم html
ol
نذهب للمتصفح وننظر للنتيجة
جميل جدا
كيفية التعامل مع الشروط في القوالب
في دالتنا home_list
قمنا بعمل متغير باسم check يحمل قيمة True
سنجعله هو شرطنا بهذا المثال
نذهب الى القالب
ونضع شرط للحلقة التي وضعناها سابقا لو تحقق الشرط يقوم بتنفيذ الحلقة
لو ذهبنا للمتصفح وعملنا تحديث ستظهر لنا النتائج كاملة
لو ذهبنا الى المتغير check
وقمنا بتغير قيمته الى False
ورجعنا للمتصفح وقمنا بعمل تحديث
لن يظهر شيء لان الشرط لم يتحقق
ماذا لو أريد ان اضع نتيجة لو لم يتحقق الشرط
كما في لغة البرمجة else
كالتالي
{% if check %}
<ol>
{% for foo in object_list %}
<li>{{ foo }}</li>
{% endfor %}
</ol>
{% else %}
<h1>Sorry !</h1>
{% endif %}
لو لم يتحقق الشرط سيقوم بتنفيذ نفي الشرط ويظهر النتيجة
Sorry !
الى هنا وينتهي درسنا لهذا اليوم
الى دروس اخرى ان شاء الله
محتوى الدورة
django | |
---|---|
1 | متطلبات قبل بدء الدورة |
2 | ماهو جانغو |
3 | انشاء أول مشروع جانغو |
4 | Hello World |
5 | التعامل مع القوالب |
6 | حقن القوالب الدرس الحالي |
7 | قواعد البيانات-1 |
8 | قواعد البيانات-2 |
9 | التعامل مع لوحة التحكم |
10 | عرض البيانات بالصفحة الرئيسية |
11 | عرض التفاصيل |
12 | اضافة محتوى |
13 | تحديث البيانات |
14 | الاستمارات |
15 | الاستمارات-2 |
16 | تسجيل الاعضاء |
17 | تسجيل الدخول |
18 | الفلاتر في جانغو |
19 | التعامل مع قواعد البيانات- متقدم ( الدرس الاخير) |
عن الدرس
0 إعجاب |
1 متابع |
0 مشاركة |
2239 مشاهدات |
منذ 6 سنوات |
عرض المزيد.. جديد مقالاتي
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !