Sitemap中的优先问题

时间:2009-04-18 14:05:42

标签: python django sitemap

我正在尝试使用Django站点地图。

class BlogSiteMap(Sitemap):
    """A simple class to get sitemaps for blog"""

    changefreq = 'hourly'
    priority = 0.5

    def items(self):
        return Blog.objects.order_by('-pubDate')

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

我的问题是..我想将前3个博客对象的优先级设置为1.0,其余部分 优先级为0.5。

我读了documentation,但无法摆脱它。

任何帮助都会很明显。提前谢谢。

2 个答案:

答案 0 :(得分:1)

我认为你可以优先改变每个对象。就像那样:

def items(self):
    for i, obj in enumerate(Blog.objects.order_by('-pubDate')):
       obj.priority = i < 3 and 1 or 0.5
       yield obj

def priority(self, obj):
    return obj.priority

答案 1 :(得分:0)

这样的事可能有用:

def priority(self, obj):
    if obj.id in list(Blog.objects.all()[:3].values_list('id'))
        return 1.0
    else:
        return 0.5