Как иметь более 50000 адресов в карте сайта django
path(
'sitemap.xml',
sitemap, {
'sitemaps': sitemaps
}, name='django.contrib.sitemaps.views.sitemap'
),
вышеприведенный пример - это моя конфигурация карты сайта на уровне проекта urls.py
from django.contrib.sitemaps import Sitemap
from .models import Post
class PostSitemap(Sitemap):
changefreq = 'always'
priority = 0.9
protocol = 'https'
limit = 5
def items(self):
return Post.aupm.all()
def lastmod(self, obj):
return obj.updated
этот вышеприведенный код предназначен для sitemaps.py на уровне приложения
который генерирует этот код
<urlset>
<url>
<loc>
https://localhost:8000/en/kavi/lobaan-ke-5-laabh-aur-upyog-aur-7-mithk-0x76/
</loc>
<lastmod>2022-01-28</lastmod>
<changefreq>always</changefreq>
<priority>0.9</priority>
</url>
<url>
Что я хочу:
- what to do if i have much more element in more than 50,000 (fifty thousand) element in that application,
- If i want to add more element(ie sitemap) from diffrent application
Да, это возможно с помощью индексов sitemap. Из документации:
Фреймворк sitemap также имеет возможность создавать индекс sitemap, который ссылается на отдельные файлы sitemap, по одному на каждый раздел, определенный в вашем словаре
sitemaps. Единственные различия в использовании:
- Вы используете два представления в вашем
URLconf:django.contrib.sitemaps.views.index()иdjango.contrib.sitemaps.views.sitemap().- Представление
django.contrib.sitemaps.views.sitemap()должно принимать аргумент ключевого слова section.
Смотрите больше здесь.