Карты сайта Django с постраничным содержимым - PullRequest
2 голосов
/ 09 сентября 2011

Я не думаю, что это на самом деле возможно, но есть ли какой-нибудь чистый и опрятный способ заставить нумерованный контент работать с картами сайта Django?

Например, на моей целевой странице есть новости, и нет постоянных ссылок на новостные посты, единственный способ использовать их - это разбить на страницы 5 за раз через них всех.

Другая часть получает списки предметов в разных жанрах и по другим критериям.

Если это невозможно, как лучше всего с этим справиться? Чтобы не предоставлять ссылки на карту сайта для любого из них? Чтобы получить только первую страницу для постраничных страниц?

Моя лучшая идея заключается в том, что я должен просто указать целевую страницу в качестве URL-адреса и вообще не беспокоиться о листингах, поскольку они не очень важны для поисковых систем. Но если это лучший способ действий, как я могу просто предоставить ссылку на целевую страницу из каркаса Sitemap?

Любые предложения приветствуются.

1 Ответ

6 голосов
/ 11 октября 2011

Я включил URL-адреса для своих разбитых на страницы представлений списка в XML-карту сайта, используя следующий код:

from django.conf import settings
from django.contrib.sitemaps import Sitemap
from django.core.paginator import Paginator
from django.core.urlresolvers import reverse

class ArticleListSitemap(Sitemap):
    def items(self):
        objects = Article.objects.all()
        paginator = Paginator(objects, settings.ARTICLE_PAGINATE_BY)
        return paginator.page_range

    def location(self, page):
        return reverse('article_list', kwargs={'page': page})
...