جنگو آموزش برنامه‌نویسی 1 دقیقه مطالعه

ایجاد سایت مپ در جنگو

سایت مپ یک بخش از سیستم جنگو هست که به توسعه‌دهنده‌ها کمک می‌کند برای ایجاد نقشه سایت و بهبود ایندکس‌ توسط موتورهای جستجو از آن استفاده کنند.

سایت مپ در جنگو

سایت مپ چیست؟
سایت‌مپ یا نقشه سایت، یک فایل XML است که معمولاً در ریشه وب‌سایت قرار دارد و به موتورهای جستجو می‌گوید که صفحاتی که باید در جستجوهایشان در نظر گرفته شوند را چگونه باید ایندکس کنند...

Django Sitemap

در جنگو، شما می‌توانید با استفاده از ماژول django.contrib.sitemaps و کلاس‌های مربوطه سایت‌مپ‌های خود را تعریف کرده و سپس آنها را به فایل urls.py اضافه کنید...

فعال سازی سایت مپ جنگو:

وارد تنظیمات پروژه شوید settings.py و سپس در بخش INSTALLED_APPS سایت مپ را اضافه کنید...

# django_project/settings.py

INSTALLED_APPS = [
   "django.contrib.admin",
   "django.contrib.auth",
   "django.contrib.contenttypes",
   ...,
   "django.contrib.sitemaps",
   "django.contrib.sites",
]

بعد از زدن دستور migrate در پنل ادمین بخشی به نام Sites اضافه می‌شود...

ایجاد کلاس sitemap

در فولدر اپ یک فایل به نام sitemaps.py ایجاد کنید...

نمونه کامل:

class ArticleSiteMap(Sitemap):
    protocol = 'https'
    priority = '0.5'
    changefreq = 'yearly'
    def items(self):
        return Article.objects.filter(status=True)
    def location(self, obj):
        return f'/article/{obj.slug}'
    def lastmod(self, obj):
        return obj.date_created

تنظیمات آدرس:
وارد urls.py در اپ اصلی شوید و sitemap رو import کنید...

from django.contrib.sitemaps.views import sitemap
from blog.sitemaps import ArticleSiteMap
sitemaps = {
    'article': ArticleSiteMap,
}
path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),

لینک منبع

تگ‌ها: #جنگو

مطالب مرتبط