Как добавить атрибут lastmod для index sitemap в django

Мне нужно добавить lastmod для сайтмапы index, сейчас sitemap.xml выглядит так:

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
<sitemap>
<loc>localhost:8000/sitemap-pages.xml</loc>
</sitemap>
</sitemapindex>

То есть, необходимо добавить тег <lastmod></lastmod>, вот мой urls.py

sitemaps_pages = {

    'pages': sitemaps.PageViewSitemap,
    'life': sitemaps.LifeViewSitemap,
    'lifes': sitemaps.LifesSitemap,
    'novosti': sitemaps.NewsViewSitemap,
    'novost': sitemaps.NewsSitemap,
    'catalog': sitemaps.CatalogViewSitemap,
    'categories': sitemaps.CategorySitemap,
    'regions': sitemaps.RegionSitemap,
    'times': sitemaps.TimeSitemap,
    'material': sitemaps.MaterialSitemap,
    'products': sitemaps.ProductsSitemap,
}
    path('sitemap-<section>.xml', sitemap, {'sitemaps': sitemaps_pages}, name='django.contrib.sitemaps.views.sitemap'),
    path('sitemap.xml', index, {'sitemaps': sitemaps_pages}, name='django.contrib.sitemaps.views.sitemap'),

функция index находится здесь django.contrib.sitemaps.views, и видимо в ней нет реализации lastmod. Что мне делать?


Ответы (1 шт):

Автор решения: Za Ars

Вы используете django.sitemap

Ответ находится в доке

from django.contrib.sitemaps import Sitemap
from blog.models import Entry

class BlogSitemap(Sitemap):
    changefreq = "never"
    priority = 0.5

    def items(self):
        return Entry.objects.filter(is_draft=False)

    def lastmod(self, obj):
        return obj.pub_date
→ Ссылка