2015-06-30 81 views
1

給定的站點地圖類站點地圖生成在所述位置的地圖,example.com/sitemap.xml如何將主頁添加到Django站點地圖?

從django.contrib.sitemaps導入網站地圖 從blog.models導入條目 對於給定的網站地圖類,

class BlogSitemap(Sitemap): 
    changefreq = "never" 
    priority = 0.5 

    def items(self): 
     return Entry.objects.filter(is_draft=False) 

    def lastmod(self, obj): 
     return obj.pub_date 

所生成的sitemap包含Blog模型中的所有對象,但不包含Queryset之外的內容,如何將主頁添加到站點地圖?

網址

from django.contrib.sitemaps.views import sitemap 
from blog.sitemaps import BlogSitemap 


sitemaps = { 
    'blog': BlogSitemap 
} 
urlpatterns = [ 
    url(r'^$', 'blog.views.home'), 
    url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, 
     name='django.contrib.sitemaps.views.sitemap'), 
] 
+1

這可能是有幫助的 - > http://stackoverflow.com/a/21493335/1407478 – davidkonrad

回答

2

創建sitemap for static views

class StaticViewSitemap(sitemaps.Sitemap): 
    priority = 0.5 
    changefreq = 'daily' 

    def items(self): 
     return ['home'] 

    def location(self, item): 
     return reverse(item) 

這裏假設你有一個名爲 「家」 網頁URL模式

url(r'^$', views.homepage, name="home"), 

然後添加StaticViewSitemapsitemaps dict在你的urls.py中。

sitemaps = { 
    'blog': BlogSitemap, 
    'static': StaticViewSiteMap, 
} 
+0

謝謝!這樣可行。 – Marty

相關問題