Source code for partners.sitemaps
from django.contrib import sitemaps
from django.urls import reverse
from . import models
[docs]class StaticViewSitemap(sitemaps.Sitemap):
"""Sitemap generator for static partner views."""
changefreq = "daily"
[docs] def items(self):
"""Return static partner view names."""
return ["partners:index", "partners:vacancies"]
[docs] def location(self, item):
"""Return view url."""
return reverse(item)
[docs]class PartnerSitemap(sitemaps.Sitemap):
"""Sitemap generator for partners."""
[docs] def items(self):
"""Return all active partners."""
return models.Partner.objects.filter(is_active=True)
[docs] def location(self, item):
"""Return the partner url."""
return item.get_absolute_url()
[docs]class VacancySitemap(sitemaps.Sitemap):
"""Sitemap generator for vacancies."""
[docs] def items(self):
"""Return all vacancies."""
return models.Vacancy.objects.all()
[docs] def location(self, item):
"""Return the vacancy url."""
return item.get_absolute_url()
sitemap = {
"partners-static": StaticViewSitemap,
"partners-partners": PartnerSitemap,
"partners-vacancies": VacancySitemap,
}