@maximkalga

Как реализовать пагинацию sitemap в Django?

Сайтмап генерируется при переходе на страницу. Урлов порядка 700к, все очень долго и тяжело, браузер ложится.
Можно ли сделать как-то пагинацию, например по 10к?

urls.py
...
from django.contrib.sitemaps import GenericSitemap, Sitemap
from django.contrib.sitemaps.views import sitemap
from ad.models import Offer, OfferArchive, SitemapSearchUrl


info_dict_offer = {
    'queryset': Offer.objects.filter(for_index=True),
    'date_field': 'created',
}

info_dict_archive = {
    'queryset': OfferArchive.objects.all(),
    'date_field': 'created',
}

info_dict_category = {
    'queryset': SitemapSearchUrl.objects.all(),
    'date_field': 'created',
}

sitemaps = {
    'offer': GenericSitemap(info_dict_offer, priority=1),
    'archive': GenericSitemap(info_dict_archive, priority=1),
    'category': GenericSitemap(info_dict_category, priority=1),
}

urlpatterns = [
    ...
    url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
    ...
]


Гуглятся ответы для одной модели, а как можно сделать для всеx сразу?
  • Вопрос задан
  • 568 просмотров
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
zen of Py - явное лучше неявного
модели не так часто добавляются в проект
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы