具有分页内容的Django站点地图

时间:2011-09-09 03:52:48

标签: django sitemap

我不认为这实际上是可行的,但有没有干净整洁的方法来获取使用Django站点地图的分页内容?

例如,我的目标网页上有新闻,而且新闻帖子没有永久链接,使用它们的唯一方法是一次性分页5个。

另一部分获取各种类型和其他标准的项目列表。

如果不可能,处理它的最佳方法是什么?不为这些网站地图提供网址?只获得分页页面的第一页?

我最好的想法是,我应该将登录页面作为网址,而不是对列表页面感到烦恼,因为它们并不是真正重要的搜索引擎。但如果这是最好的行动方案,我怎样才能从站点地图框架中提供到目标网页的链接?

欢迎任何建议。

1 个答案:

答案 0 :(得分:6)

我使用以下代码在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})