2017-10-06 12 views
0

私はこれを私のdjangoプロジェクトに追加しました。 views.pyで:私のurls.pysitemap.xmlに私のdjangoアプリケーションに統合されたcms.urlsを追加する方法

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

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

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) 

そして、これそして、それは非常によく発生する私の今、私は私のDjangoプロジェクトにdjangocmsを統合しているので、私はこのURLでを持ってsitemap.xml

同じ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コア開発チームの1人からサイトマップを拡張するパッケージもあります。 https://github.com/nephila/djangocms-page-sitemap/

関連する問題