虽然Google站点地图限制为5万个网址,但我想将我的站点地图拆分为500个网址。
这是博客站点地图,
from django.contrib.sitemaps import Sitemap
from blog.models import Entry
class BlogSitemap(Sitemap):
changefreq = "never"
priority = 0.5
def items(self):
return Entry.objects.all()[:500]
def lastmod(self, obj):
return obj.pub_date
网址配置
from blog.sitemaps import BlogSitemap
sitemaps = {
'blog': BlogSitemap
}
和
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap')
数据库模型有超过500个对象,如何拆分站点地图,以便即使有5000个对象也可以自动访问sitemap1.xml,sitemap2.xml等?
感谢。
PS。我想要一个程序化的解决方案。
PPS。它可以在没有过滤器的情况下检索对象。可以使用主键(1-500),(500-1000)等等,谢谢
答案 0 :(得分:0)
from django.contrib.sitemaps import Sitemap
class LimitSitemap(Sitemap):
limit = 500
class BlogSitemap(LimitSitemap):
def items(self):
return Entry.objects.all()