ایجاد سایت مپ در جنگو
- 1403/09/14
سایت مپ چیست؟
سایتمپ یا نقشه سایت، یک فایل 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'),
رایگان ثبت نام کنید و اولین نفری باشید که از پست های جدید مطلع می شوید.