مقدمة
في هذا الدرس، نستعرض كيفية إنشاء ميزة عرض "مقالات مشابهة" داخل موقع مبني باستخدام Django، بناءً على الوسوم المشتركة بين المقالات.
المشكلة الأساسية
عندما يزور المستخدم صفحة مقال معين، نرغب بإظهار قائمة بمقالات أخرى تشترك في نفس الوسوم (Tags) ليستطيع المستخدم اكتشاف محتوى ذي صلة.
الخطوات التفصيلية
1. جلب الوسوم المرتبطة بالمقال الحالي
- نقوم بإنشاء استعلام لجلب قائمة الوسوم (Tags) المرتبطة بالمقال المفتوح حالياً باستخدام Django ORM.
- نستخدم
values_listمع خاصيةflat=Trueلجلب قائمة مخصصة من معرّفات الوسوم بدون تعقيد.
2. استعلام مقالات تحتوي على أي من الوسوم المشتركة
- نستخدم فلترة على الموديل الأساسي للمقالات لنسترجع جميع المقالات التي تحتوي على واحد أو أكثر من هذه الوسوم المشتركة.
- نستبعد المقال الحالي نفسه من النتيجة لتجنب التكرار.
3. حساب عدد الوسوم المشتركة وترتيب النتائج
- باستخدام
annotateمع دالةCountنجمع عدد الوسوم المشتركة بين المقالات. - نرتب قائمة المقالات تنازليًا بحسب عدد الوسوم المشتركة لإظهار الأكثر تشابهًا أولاً.
4. عرض المقالات المشابهة في الصفحة
- نمرر قائمة المقالات المشابهة إلى قالب العرض (Template) عبر السياق.
- في القالب، نعرض عناوين المقالات المشابهة تحت المقال الحالي مع روابطها.
مثال عملي
- إذا كان لدينا مقال عن "كريستيانو رونالدو" وعليه وسوم مثل "لا ليغا" و"ريال مدريد"، و مقال آخر عن "ليونيل ميسي" عليه وسوم مثل "لا ليغا" و"برشلونة"، فإن المقالتين تظهران كمقالات مشابهة لبعضهما لأنهما تشتركان في الوسم "لا ليغا".
نصائح وإرشادات
- تأكد من استخدام
distinct()في الاستعلامات لتجنب تكرار المقالات. - استخدم خاصية
exclude()لاستبعاد المقال الحالي من النتائج. - احرص على تحسين أداء الاستعلامات باستخدام الفلاتر والشروط المناسبة.
الخلاصة
باتباع هذه الخطوات، يمكنك بناء ميزة قوية لعرض المقالات المشابهة استناداً إلى الوسوم المشتركة مما يعزز تجربة المستخدم ويزيد من تفاعل الزوار على موقعك المبني بـ Django. الدرس يتناول الكود الكامل ويشرح كل سطر منه لتسهيل الفهم والتطبيق العملي.
لمزيد من التعلم حول استعلامات Django وكيفية استغلالها بكفاءة، يمكنك الاطلاع على WordPress: El Sistema de Gestión de Contenidos que Domina Internet لفهم أفضل حول نظم إدارة المحتوى وكيفية إدارة البيانات بشكل فعال.
كما يمكن أن تستفيد من ترجمة مفاهيم بناء مواقع ويب قوية والاستفادة من الذكاء الاصطناعي من خلال قراءة Build Stunning AI-Powered Websites with Claude Code: No Coding Needed لتعزيز مهاراتك في تطوير المواقع.
وأخيرًا، إذا كنت مهتمًا بكيفية التعامل مع البيانات وتقنيات البرمجة المتقدمة، فإن شرح मल्टीडायमेंशनल और 2D अर्रे: कोडिंग, इनपुट और मैट्रिक्स मल्टिप्लिकेशन يقدم خلفية تقنية غنية قد تساعدك في توسيع مهاراتك البرمجية.
السلام عليكم اصدقائي اهلا وسهلا فيكم بدرس جديد من الدوره اللي عم نشرح فيها الجانجو مازلنا بالوحده الثالثه
والدرس السابق تعرفنا على كيفيه عمل نظام تمام المتعلقه بالمقالات الموجودين بالموقع الخاص فينا
اليوم ان شاء الله راح نشوف كيفيه عمل كومبلكس حتى نعمل لمقالات متشابهه يعني وقت احنا نفتح
الصفحه الرئيسيه راح يكون في عنا جميع المقالات الموجودين بقواعد البيانات بنعمل بنعرضه عنا بالموقع وبالتالي تحت كل بوست
بيكون في تاكس تمام يعني رسوم تعبر عن هذا البوست وقت نحنا نفتح بوست معينه تحت هذا البوست راح نكتب
تمام راح نكتب مثلا شو هنن البوستات المتشابهه او المشابهه لهذا البوست بحيث نعمل له للاشخاص اللي عم يقراوا هذا
البورت طيب على اي اساس نحن بدنا نعمله على اساس الوسوم المشتركه بين هدول البوستات
تمام قبل ما نبدا بدرس اليوم كالعاده بذكركم الاشتراك بالقناه وتحطوا لنا لايك وتعليق ومشاركه القناه
اليوم ان شاء الله مثل ما شفنا خلينا نروح على الموقع ونشوف شو هو المنتج النهائي تبع درس اليوم
طبعا انا حذفت قاعده البيانات تبعيت الدرس الماضي وضفت قاعده بيانات جديده بحيث ضفت عليها بعض البوستات وبعض الوصول تمام
حوالي خمس بوستات فبنشوف بالبوست الاول في عنا بوست اسمه كريستيانو رونالدو هدول المتعلقين بهذا البوست مثلا ريال مدريد لا
ليغا انستجرام رونالدو بالنسبه للبوست الثاني ليونيل ميسي تمام في مثلا فرضا انه ميسي بحب البرمجه كونه
دائما بيفكر بالملعب برشلونه لو بنلاحظ بين البوست الخاص بكريستيانو رونالدو والبوست الخاص بي بليونيل ميسي
فبنشوف انه في عندهم شو هن الرسوم المشتركه الوسوم المشتركه مثلا لو فتحنا كريستيانو رونالدو فبنشوف بنشوف انه في
عنده شيء مشترك اللي هو لا ليغا هون ولليغا هون وبالتالي وقت اضغط انا على كريستيانو رونالدو وافتحه بشوفهم بجلي
طبعا الوصفه وتحت بجيب لي شو هن البوستس المتشابهه او المشابهه لهذا البوست فبيجيب لي مثلا انه
ليونيل ميسي مشابه هو بوست مشابه لهذا البوست تمام ليش لانه في تاج مشتركه انا حاطط رقم واحد هون
تمام حتى اعرض فكره معينه راح اوضح لكم اياها بعد شوي طبعا راح احذف هذا الرقم بعد شوي وبالتالي انه بيعمل لي انه اقرا
ايضا معلومات عن ليونيل ميسي قريب مثلا من البوست اللي هو كريستيانو رونالدو هاي
ببساطه شديده اللي راح نعمله بدرس اليوم خلينا نروح هلا على البوست على التطبيق الخاص فينا ونبدا
نشتغل شو انه الخطوات اللي نحن رح نعملهم في هذا الدرس الخطوه الاولى اول شيء نحن نجيب الوقت نفتح بوست معينه راح نجيب جميع
التاكس تمام المتعلقه بهذا البوست فهاي فهاي الخطوه الاولى لذلك راح اروح انا سريعا
على ملف الفيوز تمام على اللي هي بتعرض لي الديتيل الخاصه
ببوست معينه اللي هي اسمها بوست راح انزل لتحت بهذا المكان تمام وراح ابدا جيب انا
البوستس المتشابه كيف نجيب البوستس مثل المتشابهه كل بساطه راح اعمل متغير سريعا انا كتبتها
حتى نوفر وقت فراح اعمل متغير راح اسميه بوست تاكس تمام راح تكون عباره عن البوست نفسه
تمام شفتها بالدرس السابق راح يجيب لي جميع المتعلقه بهذا البوست راح يجيب لي اياهم
كشو تكويري وبالتالي في عنا اسمها هاي وظيفتها انه تجيب لي الفيلد يلي انا بدي
اياه من هاي الكويسه تمام خلينا نطبعها وبفرجيكم شو معناه هذا الكلام هون انا عم اقول له جيب لي الايدي راح احذف هاي
الفلات مؤقتا وراح ارجع اشرحها بالتفصيل راح اكتب بهذا الشكل
لانه في خطا هون خلينا نشوف تمام راح نروح هلا انا راح اكبر هاي بس تمام
راح روح على الموقع اللي شغال عليه راح اضغط مثلا انا على كريستيانو رونالدو كان في عنده تاكس كريستيانو رونالدو في عنده
تاك تنتين ثلاثه اربعه خمسه في عنده خمسه تاكس هو انا اعمل هلا راح يطبع لي الاي ديز الخاصه بهذول التاكس كيف فيني اعرف
انا الاي ديز الخاصه بهذول التاكس لو رحنا على الادمن 8000 راح اقول له ادمن
تمام خلينا نشوفهن سريعا حتى راح افتح التاكس ونشوف
طبعا هدول انا حذفتهم ما بعرف ليش ظاهرين هون مو مشكله هلا خليني اسكر هاي واروح على
افتحوا ونشوف التاكس المتعلقين بهذول الاسماء راح افتح دورت
مثلا هاي تمام راح نشوف هلا خلينا نروح نشوف في عنده
ريال مدريد لا ليغا انستجرام ورونالدو ريال مدريد شو رقمها خلينا نبحث عن ريال مدريد
رقمها 29 مثلا تمام فلازم اول رقم يجيب لي اياه 29 خلينا نعمل ونشوف راح اعمل الفريش هون
طبعا اذا عملت هون ما راح يطبع لك اي شيء ليش لانه احنا ما عم نعمل يعني لسا ما ضغطنا على بوست معينه هون انا عم اقول له
وين هاي خلينا ننزل لتحت هون الخاصه بهذا البوست وتضغط عليه فراح اضغط انا على كريستيانو رونالدو طبعا راح اضغط
عليه بهذا الشكل فراح روح على راح شوف انه طالع لي مثل مو شايفين اول رقم اللي هو 29
الرقم الثاني اللي هو 43 يلي هو خلينا نشوف اللي هو رقمها
43 تمام مثل ما شايفين 43 لليغا بعدين الرقم اللي بعده 45 اللي هي على ما اعتقد
انستجرام بعدين 46 اللي هي رونالدو هو 47 اللي هي تمام لحد الان الامور تمام مفهومه بالنسبه للسطر الاول من الكود لو بتلاحظوا
معي انه هون بجيب لي كويري سيت عباره عن ليست جواتها مجموعه من الطبلز تمام بهذا الشكل
ولكن هذا الشكل نوعا ما غير مريح بالنسبه لهذا الشغل اللي نحن عم نشتغله لذلك هون بنستخدم
او عفوا اسمه تمام راح اقول له فلات يساوي ترو
لو رجعنا عملنا بهذا الشكل تمام راح نشوف انه بيعرض لي اياهم هلا
بهذا الشكل يعني بيحذف لك الطبل وبعرض لي اياهم كاسين بل كسنغلون
اذا انت اعطيته اذا انت اعطيته اي فيلد اخر غير الاي دي طبعا مثلا مثل النيم او
فراح يجيب لك النيم والاسلاك الخاصين بهذا التاكس راح نجرب النيمس مثلا راح اشوف متل ما شايفين جاب لك منين اللي
هي ريال مدريد لليغا انستجرام رونالدو هون لو قلنا ريال مدريد جاب لك وبالتالي هون نحن بنحط
تمام هاي الفيلد لازم تكون من ضمن الفيلز المتعلقه بالتاكس هاي نقطه مهمه لازم تفهموها هاي بالنسبه للسطر الاول من الكود
في مناخ وما في اي مشاكل شو الخطوه التانيه الخطوه الثانيه هلا انه نحن نجيب خلينا نرجع على
الخطوه الثانيه انه نجيب البوستات تمام اللي فيها تاكس مشتركه يعني واحد تاج على الاقل راح نجيب هادول البوسطه
طيب كيف فينا نجيب هدول البوستات عن طريق سريعا سريعا راح كتبت هذا الكود هون عملت متغير
انا سميته يعني البوستات المتشابهه متل ما بتعرفوا هون انا عم نادي الموديل تمام عم نادي
اوبجكتز هذا اللي شفناه بالدروس الاولى من الدوره بعدين هون عم اقول له اعمل لي فلتره لمين
للبوستات يلي تبعيتها فيها على الاقل يعني من ضمن عفوا هاي الليست اللي نحن جبناها منهم
فرضا لو ضغطنا على كرستيانو رونالدو تمام راح يجيب لي هاي اللي شفناها اللي كان فيها 29 43 الى اخره وبالتالي جيب لي سيمي
راح يشوف جميع البوستات وراح يشوف يعمل فلتره بحيث فقط يجيب التاجز المشترك يخلينا نطبع
ونتاكد من هاد الموضوع راح اقول له على الدوالير بوست بهي الطريقه طبعا هون في نقطه مهمه
انا عم اعمل لمين لنفس البوست حتى ما يعمل لي ريكومنت مره تانيه لنفس البوست لو شلتها هاي الاكس
كلود فراح يجيب لي هذا البوست تبع كريستيانو رونالدو من ضمن البوستات ايضا تمام
حتى تعمل لي استبعاد لهذا البوست الحالي راح خلينا نتاكد ونشوف هون لازم يجيب لي ليونيل ميسي راح اعمل
ونروح على ونشوف وين هاي خلينا نشوف طبعا جاب لك كويري ست فاضي ليش جاب لك خلينا نشوف شو المشكله
خلينا نشوف شو المشكله سريعا طبعا جاب لي لست فاضي لانه انا هون عم استخدم السلق هو بيبحث عن طريق الاي دي
فلازم نرجع الاي دي هلا بهذا الشكل لازم يجيب لك هون فيها البوست اللي هو ليونيل ميسي خلينا نمر فريش نشوف
مثل مو شايفين جاب لك اللي هو اللي فيه ليونيل ميسي ليش لانه في بيناتهم شخص مشترك وهو او عفوا تاج مشتركه وهي لا ليغا
تمام اللي هي الدور الاسباني يعني هاي بالنسبه للخطوه الثانيه شو هي الخطوه الثالثه الخطوه الثالثه مثل ما شفنا نحن
شفناها وعملناها الخطوه الرابعه انه نعمل ترتيب لهذول النتائج بناء على عدد التاكس يعني نحن راح نجيب
البوستات المتشابهه ونرتبهم بحيث الاول رمزه لتظهر معنا تكون فيها اعلى تاكس مشتركين فرضا
مثلا بحاله كريستيانو وميسي في عندهم تاج وحده مشتركه اذا كان في عندي مثلا بوست تاني مشتركه مع
البوست وفي اثنين مشتركه فلازم هاي البوست تظهر كاول نتيجه تمام لذلك شو راح نعمل سريعا
شو الكود اللي راح نستخدمه حتى نعمل هاي الحركه خلينا نحسب او خليها سريع انا راح انسخ الكود كتبته طيب
فهمنا هاي الجمله انه راح تجيب لي جميع البوستات اللي فيهم على الاقل واحد تاكس مشترك
بالنسبه لهذا الكود الجديد شو راح يعمل هون انا استخدمت عم اقول له اعمل لي هدول تمام
اعمل لي تسمح لنا نعمل تمام يعني نعمل شو معناه انه نعمل
خلينا نشوف تمام تسمح لي اني اضيف مثلا كتعليق مثلا على هدول البوسطه نحنا جبنا
وحكينا انه بجيب لنا التايتل عاده لانه نحن حاطينه المسجد وهاي هون عم اقول له
تمام هاي يلي اسمها خلينا نروح اشرح لك شو هاي اللي اسمك شو اعمل لكم حتى
انا استدعي اللي اسمها كاونت بكتب هذا السطر اللي هو من هذا المكان من جانجو دوت دي بي. فعملك انه الكاونت هي اجريكيشن
تمام بتقدم لنا اياها الاو ار ام الموجوده بالجانكو شو وظيفتها هاي عم اقول لك هاي بتسمح لنا بنعمل
يعني بتسمح لنا انه نجيب العدد الكلي للتاكس تمام وايضا هذا الموديل
في فنكه اخرى نسميها مثلا اللي هي بتجيب لي القيمه المتوسطه الماكس والميم والكاونت نحن راح نستخدم
اليوم فوقت انا اروح طبعا لازم نعمل لها خلينا ناخذها ونشوف
عشان نشرح لكم اياها متل مو شايفين انا هون عملت انا بعدين عملت فيلد سميته اي اسم تمام قال له
هذا السيم تاكس تمام راح يكون عباره عن الكاونت لمين للتاكس من وين جبنا هاي التاكس طبعا هاي التاكس مثل ما بنعرف نحن
انه بما انه في عنا علاقه وبالتالي هاي التاكس صارت كانها فيلد يعني فيلد صار انه فيلد علاقه
بالبسطات فلما بقول له مثلا البوست دوت تاكس دوت تاكس شو بجيب لي بجيب لي جميع المتعلقه بهذا البوست فهون عم اقول له
كاونت يعني عدد الكلي لهدول التاكس انا التاكس طبعا المشتركين التاكس المشتركين يلي جبناها من هاي
من هاي الكود تمام فهون عم اقول له انا ضفلي اللي هو عباره راح يكون عدد
اللي راح يكون عدد شو عدد التاكس المشتركين بعد ذلك هدول السيميلار بوست رتب لي اياهم
تمام باوردر تنازل يعني من اعلى رقم حتى اسفل الرقم فرضا جاني بوست
في مشترك ثلاثه وبوست تاني في مشترك واحد فهلبوست تبعت ثلاثه بجيب لي اياك اول نتيجه تمام هون ايضا عملو فقط طبعا
البوستات اللي من اللي هي يعني بتمنى تكون الامور بسيطه لو طبعنا راح يجيب لي نفس النتيجه السابقه ليش لانه
انا عندي فقط واحد مشترك بين يعني تاج مشتركه بين كريستيانو رونالدو
شو الخطوه اللي بعدها هلا رح تتوضح اكثر واكثر لو مانك فهمان الخطوه اللي بعدها ان يروح على
المسؤوله عن عرض الديتيل الخاصه بالبوست تمام وابدا اعرض هدول السيميلار اول شغله لازم هاي
ابعتها على تمام على اسمها تمام راح هون سريعه راح اعمل سيمي
وخليني بس انسخها مشان ما نخرب دي كتابتها فراح قل له ابعث لي هاي راح اعمل كي راح اسميه سيم خليه يكون هدول
اللي انا جبتهم من هاد السطر راح اروح هلا راح اسكر هاي وراح اروح على راح انزل وين انا بدي اعرضها فرضا
راح اعرضها بهذا المكان تحت شيرز هاي الكود المسؤوله عن مو شايفين عملت اتش تو كتبت فيها
بعدين عملت اول شيء عرض لي يعني دروس السابقه هون عم اقول له الخاص بهذا
البوست تمام طبعا هون عرض لي حتى نشوف شو النتيجه اللي راح ترجع
من هاي من هذا الفيد تمام بعد ذلك عملوا اذا ما في عندي الجمله اللي هي انه ما في عندك ولا بوست
خلينا نروح نعمل ونشوف النتيجه اللي راح تطلع عنا راح نعمل بهذا المكان ونضغط على كريستيانو رونالدو
مثلا مثل ما شايفين قال لك جاب لك انه هو ليونيل ميسي تمام وجاب لك انه
في تاكس المشتركه بيناته اللي هي واحد اللي هي عن طريق الفيلد اللي ضفناه خلينا نروح مثلا هلا ميسي نضغط عليه
مثل مو شايفين هون جاب لك اول شيء كريستيانو رونالدو بعدين جابت سكريبت
جانجو طبعا هدول جميعا هدول جميعهم بوسط مشابهه لهذا البوست تمام وفيهم فقط
واحد تعب مشترك خلينا نشوف شيء اخر مثلا خلينا نضغط على الجانجو تمام
جامبو اول شغله طالع لك اياها اللي هي البايسون ليش لانه في اثنين تاكسون مشتركه بعدين في ليونيل ميسي وفي الجافا سكريبت
لانه في واحد تاج مشتركه وواحد تاك مشتركه فانت مو شايفين رتب لك اياهن من البوست الاعلى اشتراكا بعدد التاكس الى
الاسفل تمام هاي ببساطه شديده هاي الخطوات بهذا الدرس طبعا احنا
السينما بحاجتها انا طلعت لك اياها بس حتى تشوف شو الاوت بوت الخاص فيها تمام هون مثل ما حكيت لك بتجيب لك عدد
التاكس المشتركين ونحن حطيناها فبهذه الطريقه لو ضغطنا على جافا سكريبت راح يجيب لك مثلا ليونيل ميسي
والجانجو ليش لانه في بيناتهم شيء مشترك اللي هو كلمه بروجراميك لو رحنا على مثلا لازم يجيب لك الجانجو تمام لانه في
بيناتهم مشترك ولازم يجيب لك بعدين شايفين جاب لك البايثون عفوا
كمان في متوقع تلاته مشتركين بعدين ليونيل ميسي بعدين الجافا سكري معناتها بهيك بكون نحنا عملنا
حتى نجيب البوستات المتشابهه بناء على المشتركين بين المقالات بهذول الطرق بتمنى تكون هدول
الطرق مفهومين وبسيطين ويا ريت لو تخبرني انك فهمت الدرس ولو ما فهمت اي نقطه من هدول النقاط مو مشكله برجع بعدلك اياها
مره وتنتين وتلاته حتى بتطلع من الدرس فهمان الامور بشكل جيد هلا شو راح نعمل راح نروح سريعا نرفع هاي الاكواد على
الجيتاب حتى تكون مرجع لالكم وتبداوا تستخدموها وسريعا راح افتح هالقد
بهذا الشكل حلو جيت راح يقول لي في عندك كتير اشياء
خلينا نروح ناخذ الرساله هاي اعمل له وهنخلينا نحط بس
راح اضغط انتر بعدين راح اقول له احط كلمه السر
تمام راح ورحنا على القد س فبنشوف انه نضاف عندي
لو ضغطنا على الكوميكس شفنا اخر كوميت هات لو فتحناه كالعاده بجيب لك شو انا عملت بالضبط
تمام مثلا ضفت هدول الاسطر وحذفت هذا السطر وهكذا تمام فبيكون مرجع
لالك حتى دائما تكون على اتصال مباشر مع الكود اللي انا عم نكتبه بتمنى الامور او الدروس يعني تكون بسيطه وسهله ان شاء الله
الدرس القادم راح نشرح الكستم بعد ما نفهم طبعا هذول الامور بالتفصيل
الممل اشوفكم ان شاء الله في الدرس القادم اذا عندكم اي اسئله استفسارات فيكم تكتبوا لي
بالتعليقات ولا تنسوا تدعموا القناه بالطرق اللي صرتوا بتعرفوها ان شاء الله تكونوا بخير والسلام عليكم
يمكنك استخدام Django ORM لاستعلام الوسوم المرتبطة بالمقال عن طريق استخدام دالة values_list مع خاصية flat=True للحصول على قائمة بمعرّفات الوسوم. مثلاً: article.tags.values_list('id', flat=True). هذه الطريقة تعطيك قائمة نظيفة وبسيطة للوسوم المرتبطة.
للحصول على مقالات تشترك في نفس الوسوم، استخدم فلترة على الموديل الأساسي للمقالات بحيث تشمل الوسوم داخل قائمة معرّفات الوسوم المشتركة، ثم استبعد المقال الحالي باستخدام exclude(id=article.id). لا تنسَ استخدام distinct() لتجنب تكرار المقالات في النتائج.
تستطيع استخدام annotate مع دالة Count على حقل الوسوم لاحتساب عدد الوسوم المشتركة لكل مقال مشابه. بعد ذلك، رتب الاستعلام تنازليًا باستخدام order_by('-num_tags') لتعرض المقالات الأكثر تشابهًا في الأعلى، مما يسهل على المستخدم اكتشاف المحتوى الأقرب.
مرر قائمة المقالات المشابهة عبر سياق القالب عند عرض صفحة المقال. داخل قالب العرض (Template)، استخدم حلقة for لعرض عناوين المقالات المشابهة مع روابطها، مثلاً باستخدام {% for similar in similar_articles %} <a href='{{ similar.get_absolute_url }}'>{{ similar.title }}</a> {% endfor %}.
لتحسين الأداء، استخدم فلاتر دقيقة لتقليل حجم البيانات المسترجعة، استعمل distinct() لمنع التكرار، واستبعد المقال الحالي بوضوح. كما يُفضل استخدام annotate وCount بكفاءة، وتجنب الاستعلامات المتداخلة الثقيلة عن طريق تبسيط شروط البحث وتنفيذ الاستعلامات خارج الحلقة قدر الإمكان.
ميزة المقالات المشابهة مفيدة لتعزيز تجربة المستخدم من خلال توفير محتوى ذو صلة يزيد من مدة بقائه في الموقع ويحفزه على الاستكشاف. عندما تعتمد على وسوم دقيقة تعكس محتوى المقالات، تصبح الاقتراحات أكثر صلة وشخصية، مما يعزز التفاعل وزيادة عدد الصفحات التي يزورها المستخدم.
نعم، نفس الأسلوب يمكن تطبيقه على أي موديل يحتوي على وسوم (Tags) مثل المنتجات أو الأخبار أو الفيديوهات في Django. الفكرة الأساسية هي ربط الكائنات بناءً على الوسوم المشتركة، لذا يكفي تعديل الاستعلامات وتحديث الحقول حسب نوع المحتوى المستخدم.
Heads up!
This summary and transcript were automatically generated using AI with the Free YouTube Transcript Summary Tool by LunaNotes.
Generate a summary for freeRelated Summaries
ملخص درس القوى والأعداد السالبة
في هذا الدرس، يشرح مستر محمد كيفية التعامل مع القوى والأعداد السالبة، بما في ذلك كيفية تحويل الأعداد السالبة إلى أعداد موجبة عند رفعها لقوة زوجية، وكيفية التعامل مع الكسور والقوى السالبة. يتضمن الدرس أمثلة توضيحية وأسئلة شائعة.
شرح مبسط لإدارة قواعد البيانات باستخدام SQLite في الصف الحادي عشر
هذا الفيديو يقدم شرحاً مفصلاً لكيفية استخدام برنامجي SQLite وDB Browser لإدارة قواعد البيانات، مع استعراض خطوات إنشاء الجداول، إضافة وتحديث وحذف البيانات. يحتوي الفيديو على أمثلة عملية وأكواد برمجية لتسهيل فهم العملية التعليمية وتحضير الطلاب للاختبارات.
Mastering Pandas DataFrames: A Comprehensive Guide
Learn how to use Pandas DataFrames effectively in Python including data import, manipulation, and more.
تعلم أساسيات البرمجة بلغة بايثون خطوة بخطوة
دورة شاملة تشرح كيفية بدء البرمجة بلغة بايثون، تصميم البرامج والألعاب البسيطة، إدارة البيانات، استخدام القوائم والدوال، التعامل مع الملفات، الوحدات والفئات. دورة مثالية للمبتدئين لاحتراف بيئة البرمجة الأقوى والأكثر طلباً.
Desarrollo Frontend desde Cero: Creando Tu Primer Sitio Web
Aprende a desarrollar tu primer sitio web desde cero con HTML y CSS en este curso de frontend.
Most Viewed Summaries
Kolonyalismo at Imperyalismo: Ang Kasaysayan ng Pagsakop sa Pilipinas
Tuklasin ang kasaysayan ng kolonyalismo at imperyalismo sa Pilipinas sa pamamagitan ni Ferdinand Magellan.
A Comprehensive Guide to Using Stable Diffusion Forge UI
Explore the Stable Diffusion Forge UI, customizable settings, models, and more to enhance your image generation experience.
Mastering Inpainting with Stable Diffusion: Fix Mistakes and Enhance Your Images
Learn to fix mistakes and enhance images with Stable Diffusion's inpainting features effectively.
Pamamaraan at Patakarang Kolonyal ng mga Espanyol sa Pilipinas
Tuklasin ang mga pamamaraan at patakaran ng mga Espanyol sa Pilipinas, at ang epekto nito sa mga Pilipino.
Pamaraan at Patakarang Kolonyal ng mga Espanyol sa Pilipinas
Tuklasin ang mga pamamaraan at patakarang kolonyal ng mga Espanyol sa Pilipinas at ang mga epekto nito sa mga Pilipino.

