问题描述
class StaticViewSitemap(Sitemap):
changefreq = "weekly"
priority = 0.9
protocol = 'http' if DEBUG else 'https'
def items(self):
return ['home','contact_us','blog',]
def location(self,item):
return reverse(item)
如果要设置不同的优先级并更改不同URL的频率应该怎么办?
我已经看到了这个问题,但是我仍然不知道该怎么办: Priority issue in Sitemaps
解决方法
以类似的方式,您可以使用:
class StaticViewSitemap(Sitemap):
changefreq = "weekly"
# Remove the priority from here
protocol = 'http' if DEBUG else 'https'
def items(self):
return ['home','contact_us','blog',]
def location(self,item):
return reverse(item)
def priority(self,item):
return {'home': 1.0,'contact_us': 1.0,'blog': 0.5}[item]
,
我实际上是为了实现它而完成的:
class StaticViewSitemap(Sitemap):
protocol = 'http' if DEBUG else 'https'
static_url_list = [
{'url': 'home','priority': 0.8,'changefreq': "monthly"},{'url': 'contact_us','priority': 0.6,'changefreq': "weekly"},{'url': 'blog','priority': 0.4,'changefreq': "weekly"}
]
def items(self):
return [item['url'] for item in self.static_url_list]
def location(self,item):
return {element['url']: element['priority'] for element in self.static_url_list}[item]
def changefreq(self,item):
return {element['url']: element['changefreq'] for element in self.static_url_list}[item]