Памятка для себя, а так же может быть будет полезна новичкам в Django. Сразу к делу:

  • для начала в settings.py добавляется 'django.contrib.sitemaps', в раздел INSTALLED_APPS
  • django.template.loaders.app_directories.Loader должен быть в TEMPLATE_LOADERS (он там по умолчанию, если не менялось)
  • должен быть установлен sites framework, если не вдаваться в подробности делается это путем добавления 'django.contrib.sites' в INSTALLED_APPS и установкой переменной SITE_ID = 1 в settings.py

С установкой все. Теперь нужно создать файл sitemaps.py:

from django.contrib.sitemaps import Sitemap
from article.models import Article
from django.core.urlresolvers import reverse


class ArticleSitemap(Sitemap):
    changefreq = "daily"
    priority = 0.5

    def items(self):
        return Article.objects.filter(displayable=True)

    def lastmod(self, obj):
        return obj.date ...