2017-10-06 113 views
0

我在我的django項目中有這個。 在views.py如何將我的django應用程序中集成的cms.urls添加到sitemap.xml

class MediatorViewSitemap(Sitemap): 
    changefreq = 'monthly' 
    priority = 0.8 

    def items(self): 
     return Mediator.objects.exclude(photo='') 

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

    static_list =[ 
     'home', 
     'mediators_list', 
     'about', 
     'faq', 
     'pricing', 
     'terms', 
     'privacy', 
     'contact', 
    ] 

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

    def items(self): 
     return static_list 

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

這在我urls.py

sitemaps = { 
    'mediators': MediatorViewSitemap, 
    'static': StaticViewSitemap 
} 

url(
    r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, 
    name='django.contrib.sitemaps.views.sitemap' 
), 

而且它產生很好我sitemap.xml

現在我已經集成djangocms我的Django項目,所以我的網址,相同urls.py

url(r'^blog/', include('cms.urls')), 

我想要的是將其添加到相同的sitemap.xml,任何教程或任何人的幫助任何建議?

回答

0

導入CMSSitemapfrom cms.sitemaps import CMSSitemap然後混合你的Sitemap類;

sitemaps = { 
    'mediators': MediatorViewSitemap, 
    'static': StaticViewSitemap, 
    'cmspages': CMSSitemap 
} 

url(
    r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', 
    {'sitemaps': sitemaps} 
), 

有一個包可以從一個CMS核心開發團隊擴展站點地圖,也可能對您有用; https://github.com/nephila/djangocms-page-sitemap/

相關問題