2009-04-18 5 views
1

J'essaie d'utiliser des sitemaps Django.Problème prioritaire dans les plans Sitemap

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 

Mon problème is..I voulait définir la priorité de premier objet 3 blog comme 1.0 et reste d'entre eux 0,5 priorité. J'ai lu le documentation mais je ne pouvais pas en sortir.

Toute aide serait appréciable. Merci d'avance.

Répondre

1

Je pense que vous pouvez modifier chaque objet avec sa priorité. Comme ça par exemple:

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

Quelque chose comme ça pourrait fonctionner:

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