2009-04-18 18 views
1

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 

私の問題はis..Iは1.0とそれらの残り 0.5優先順位などのように第1の3のブログのオブジェクトの優先順位を設定したかったです。

私はdocumentationを読んでいますが、なんとかできませんでした。

助けがあれば助かります。前もって感謝します。

答えて

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 
0

そのような何かがうまくいくかもしれない:

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