2015-08-03 22 views
0

雖然Google站點地圖的限制是50k,但我想將我的站點地圖分成500個URL。如何使用Django(以編程方式)分割站點地圖?

這是博客網站地圖,

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 

的URL配置

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)等由於

+1

我相信,如果你設置了'您的站點地圖類limit'屬性,則Django會自動分頁您的站點地圖。 – Brobin

回答

0

使用sitemap limit

from django.contrib.sitemaps import Sitemap 

class LimitSitemap(Sitemap): 
    limit = 500 

class BlogSitemap(LimitSitemap): 
    def items(self): 
     return Entry.objects.all() 
相關問題