Перейти к содержимому

Django Custom Template Filter | متى نستخدم Filter بدل View أو Model؟ | شرح عملي بمشروع FilterScope

Ayham Al Hour

0:00 / 0:00

Django Custom Template Filter | متى نستخدم Filter بدل View أو Model؟ | شرح عملي بمشروع FilterScope

10 просмотров · 6 дн. назад
Ayham Al Hour
7 подписчиков
10 просмотров · 6 дн. назад
🎓 *Django Custom Template Filter — شرح نظري وتطبيق عملي* في هذا الفيديو أقدّم شرحًا لمفهوم Custom Template Filters في إطار عمل Django، مع مناقشة سؤال أساسي في هندسة تطبيقات الويب: *متى نستخدم Custom Template Filter، ومتى يكون من الأفضل نقل المنطق البرمجي إلى View أو Model؟* 💻 *المشروع التطبيقي: FilterScope* لتوضيح الفكرة، قمت بتطوير مشروع باستخدام Python وDjango، وأنشأت فلترًا مخصصًا باسم: *Search Term Highlighter — `highlight_terms`* يعمل الفلتر على تمييز الكلمات المطابقة لعبارة البحث داخل عناوين المقالات وأوصافها، دون تعديل البيانات الأصلية المخزنة في قاعدة البيانات. 📚 *محاور الفيديو:* ✅ مفهوم Custom Template Filters والفرق بينها وبين الفلاتر الجاهزة Built-in Filters. ✅ مراجعة معمارية Django MVT. ✅ إنشاء فلتر مخصص باستخدام `templatetags` و`register.filter`. ✅ تطبيق الفلتر داخل Django Templates. ✅ تجربة عملية للبحث وتمييز الكلمات في مشروع FilterScope. ✅ توضيح الفرق بين مسؤوليات Filter وView وModel. ✅ استخدام Django ORM للبحث داخل المقالات. ✅ مراعاة أمان HTML والحماية من مخاطر XSS. ✅ استعراض اختبارات المشروع والتحقق من سلوكه. 🎯 *الفكرة الأساسية:* ليس كل منطق يمكن تنفيذه داخل Custom Filter يُفضّل وضعه فيه. Model: البيانات وقواعد المجال. View: معالجة الطلبات والاستعلامات. Filter: تنسيق البيانات أثناء العرض. الهدف هو كتابة كود منظم، قابل لإعادة الاستخدام، وأسهل في الاختبار والصيانة. 🛠️ *التقنيات المستخدمة:* Python • Django • DTL • HTML • CSS • JavaScript • SQLite • Django ORM --- 👨‍💻 *إعداد وتقديم:* أيهم أيمن الهور 📘 *المساق:* Web Programming 3 — WEBC4301 👨‍🏫 *المحاضر:* أ. علاء عماد الحوت 📌 *نوع العمل:* مناقشة أكاديمية مدعومة بمشروع تطبيقي عملي. --- #Django #Python #CustomTemplateFilter #FilterScope #DjangoTutorial #WebProgramming #BackendDevelopment #MVT #PythonProgramming #جانجو #بايثون #برمجة