Amer Abdallah نشر 23 أغسطس 2021 أرسل تقرير نشر 23 أغسطس 2021 قرأت في توثيق جانغو Django في جزء Glossary عن شيء يُسمى "slug". لست متأكدًا تمامًا من ماهيته، لكنني أعلم أن له علاقة بعناوين URL. كيف ومتى من المفترض أن يتم استخدام slug؟ 2 اقتباس
0 Ziyad Hasan نشر 23 أغسطس 2021 أرسل تقرير نشر 23 أغسطس 2021 يستخدم "slug" في تحسين search engine optimization للموقع لكي يظهر في اعلي نتائج البحث و تسخدمه لكي تنشئ unique url لكل صفحه اقتباس
0 شرف الدين حفني نشر 23 أغسطس 2021 أرسل تقرير نشر 23 أغسطس 2021 ال slug هو طريقة لانشاء url له معنى وصالح فى نفس الوقت, كمثال اذا كان لدينا صفحة html تعبر عن مقالة كالشكل التالى <title> The 46 Year Old Virgin </title> <content> A silly comedy movie </content> <slug> the-46-year-old-virgin </slug> وانشأنا لها django model بالشكل الاتى: class Article(models.Model): title = models.CharField(max_length=100) content = models.TextField(max_length=1000) slug = models.SlugField(max_length=40) ماهى افضل طريقة لانشاء url يشير لهذا الموديل؟ اولا من الممكن ان نصل له عن طريق الid فيصبح الurl كالشكل التالى www.example.com/article/23 او من الممكن ان نصل له عن طريق attribute الslug كما بالشكل التالى www.example.com/article/The 46 Year Old Virgin ولكن تلك الطريقة فيها مشكلة لان المسافات غير مسموح بها فى الurl فبالتالى يتغير شكل الurl ليصبح كالاتى: www.example.com/article/The%2046%20Year%20Old%20Virgin ومن الواضح اخى الفاضل ان كلا الطريقتين اعلى ليسو جيدين , فاول طريقة ستجد ان الurl لا يعطى وصفا عما يتضمنه فانت لا تستطيع ان تعرف عما تتكلم المقالة بمجرد معرفة الid اللذى هو 23 والطريقة الثانية ليست جيدة ايضا لانها صعبة القراءة وتؤذى العين,وهنا يأتى دور الslug فنجعل عنوان الurl مثل حقل الslug فيكون كالتالى www.example.com/article/the-46-year-old-virgin 1 اقتباس
1 Ali Haidar Ahmad نشر 23 أغسطس 2021 أرسل تقرير نشر 23 أغسطس 2021 (معدل) يأتي مصطلح "slug" من المقالات والصحف وهو الاسم الغير رسمي الذي يُطلق على قصة أو مقالة أثناء عملية الإنتاج. أما في جانغو يتم استخدام حقل slug لتخزين وإنشاء عناوين URL صالحة لصفحات الويب التي تم إنشاؤها ديناميكياً. بشكل عام باستخدام البيانات التي تم الحصول عليها بالفعل. على سبيل المثال ، يستخدم slug عنوان المقالة لإنشاء عنوان URL. <title> damn cat </title> <content> Wonderful movie </content> <slug> Wonderful-movie </slug> يمكنك إنشاء slug من خلال SlugField: slug = models.SlugField(max_length=90) وينصح بإنشاء الرابط الثابت عن طريق تابع، بالنظر إلى العنوان أو جزء آخر من البيانات، بدلاً من تعيينه يدوياً. مثال: # الآن لنفرض لدينا النموذج التالي class art(models.Model): title = models.CharField(max_length=59) content = models.TextField(max_length=1900) slug = models.SlugField(max_length=50) #وباسم ذو معنى URL يمكنك الإشارة إلى هذا الكائن بعنوان # :بالشكل URL بحيث يكون عنوان Article.id على سبيل المثال استخدام www.slu.com/art/23 # أو www.slu.com/art/damn cat #20% لذا يجب استبدالها ب URL وبما أن المسافات غير مسموحة في عناوين www.example.com/art/damn%20cat #slugأما باستخدام # - يمكننا استبال الفراغات ب www.example.com/article/damn-cat كما يمكنك استخدام التابع slugify لاستخدام ال slug كعنوان: from django.template.defaultfilters import slugify class art(models.Model): title = models.CharField(max_length=90) def slug(self): return slugify(self.title) كما يمكنك استخدام الوسيط unique=True إذا أردت جعله فريداً: slug = models.SlugField(max_length=90, unique=True) تم التعديل في 23 أغسطس 2021 بواسطة Ali Haidar Ahmad 1 اقتباس
0 Ziyad Hasan نشر 23 أغسطس 2021 أرسل تقرير نشر 23 أغسطس 2021 بتاريخ 1 ساعة قال Ziyad Hasan: يستخدم "slug" في تحسين search engine optimization للموقع لكي يظهر في اعلي نتائج البحث و تسخدمه لكي تنشئ unique url لكل صفحه مثال لو لديك منتج يسمي iphone فسوف تقوم slug بانشاء اسم مميز له باضافه رقم 1-iphone و يصبح الرابط مميز و seo friendly بدلا من استخدام id للمنتج في الرابط اقتباس
0 Omry Isa نشر 20 نوفمبر 2023 أرسل تقرير نشر 20 نوفمبر 2023 كيف ممكن استعمل ال slug بالعربي؟ 1 اقتباس
0 Mustafa Suleiman نشر 21 نوفمبر 2023 أرسل تقرير نشر 21 نوفمبر 2023 بتاريخ 15 ساعة قال Omry Isa: كيف ممكن استعمل ال slug بالعربي؟ نستخدم slugs بالعربي بنفس الطريقة التي تستخدم بها بالإنجليزية. 1- تعريف SlugField في موديل: from django.db import models class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() slug = models.SlugField(unique=True) 2- توليد الـ Slug: عندما تقوم بإنشاء مقالة جديدة، نستخدم مكتبة Django slugify لتوليد الـ slug بناءً على عنوان المقالة باللغة العربية، وعليك تثبيت المكتبة إذا لم تكن مثبتة بالفعل: pip install django-utils-six ثم، في مكان ما في مشروعك، يمكنك استخدام slugify كما يلي: from django.utils.text import slugify article = Article.objects.create(title="عنوان المقالة", content="محتوى المقالة") article.slug = slugify(article.title) article.save() 3- استخدام الـ Slug في العنوان URL: استخدم قيمة الـ slug لبناء عناوين URL كالتالي: urlpatterns = [ path('articles/<slug:article_slug>/', views.article_detail, name='article_detail'), ] وعند زيارة عنوان URL /articles/عنوان-المقالة/، سيتم توجيه المستخدم إلى عرض تفاصيل المقالة. اقتباس
السؤال
Amer Abdallah
قرأت في توثيق جانغو Django في جزء Glossary عن شيء يُسمى "slug". لست متأكدًا تمامًا من ماهيته، لكنني أعلم أن له علاقة بعناوين URL. كيف ومتى من المفترض أن يتم استخدام slug؟
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.