0

我的 django 项目中有这个。在views.py

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 项目中,所以我在同一个 url 中有这个urls.py

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

我想要的是将它添加到sitemap.xml任何教程的任何建议或任何人的帮助中?

4

1 回答 1

0

导入CMSSitemap类似from 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/

于 2017-10-10T20:50:49.937 回答