给定sitemap类的站点地图在位置example.com/sitemap.xml
来自django.contrib.sitemaps导入Sitemap 来自blog.models导入条目 对于给定的Sitemap类,
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
生成的站点地图包含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'),
]
答案 0 :(得分:5)
class StaticViewSitemap(sitemaps.Sitemap):
priority = 0.5
changefreq = 'daily'
def items(self):
return ['home']
def location(self, item):
return reverse(item)
这假设您的主页的网址格式为" home"
url(r'^$', views.homepage, name="home"),
然后将StaticViewSitemap
添加到您的urls.py中的sitemaps
字典。
sitemaps = {
'blog': BlogSitemap,
'static': StaticViewSiteMap,
}