【发布时间】:2013-03-22 15:01:28
【问题描述】:
我正在使用 Django Cms 2.3.5,并且我正在生成类似这篇文章的站点地图,来自 docs
现在我的问题是有一个简单的解决方案来隐藏此站点地图中的两个页面,因为。 我在我的 CMS 中集成了 404 和 500 错误,我不希望站点地图中有这些错误!?
有人有想法吗?
【问题讨论】:
标签: python django sitemap django-cms django-sitemaps
我正在使用 Django Cms 2.3.5,并且我正在生成类似这篇文章的站点地图,来自 docs
现在我的问题是有一个简单的解决方案来隐藏此站点地图中的两个页面,因为。 我在我的 CMS 中集成了 404 和 500 错误,我不希望站点地图中有这些错误!?
有人有想法吗?
【问题讨论】:
标签: python django sitemap django-cms django-sitemaps
我会这样尝试:
新建一个类,覆盖SiteMap类的get_url方法
class CustomCMSSitemap(CMSSitemap):
def get_urls(self, *args, **kwargs):
super(CustomCMSSitemap, self).get_urls(*args, **kwargs)
//your code here
Here 是类SiteMap 的来源
不要将url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': {'cmspages': CMSSitemap}}) 添加到主urls.py 中,而是添加url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': {'cmspages': CustomCMSSitemap}})
【讨论】:
在 django-cms 中从站点地图中删除页面的最简单方法是取消发布它。特别是如果该页面尚未准备好(输出 404 或 500 错误)。
【讨论】: