如何将主页添加到 Django 站点地图?
how do I add homepage to Django sitemap?
给定站点地图 class 的站点地图在 example.com/sitemap.xml
的位置生成站点地图
从 django.contrib.sitemaps 导入站点地图
来自 blog.models 导入条目
对于给定的站点地图 class、
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'),
]
class StaticViewSitemap(sitemaps.Sitemap):
priority = 0.5
changefreq = 'daily'
def items(self):
return ['home']
def location(self, item):
return reverse(item)
假设您的主页有 url 模式,名称为 "home"
url(r'^$', views.homepage, name="home"),
然后将 StaticViewSitemap
添加到 urls.py 中的 sitemaps
字典中。
sitemaps = {
'blog': BlogSitemap,
'static': StaticViewSiteMap,
}
给定站点地图 class 的站点地图在 example.com/sitemap.xml
从 django.contrib.sitemaps 导入站点地图 来自 blog.models 导入条目 对于给定的站点地图 class、
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'),
]
class StaticViewSitemap(sitemaps.Sitemap):
priority = 0.5
changefreq = 'daily'
def items(self):
return ['home']
def location(self, item):
return reverse(item)
假设您的主页有 url 模式,名称为 "home"
url(r'^$', views.homepage, name="home"),
然后将 StaticViewSitemap
添加到 urls.py 中的 sitemaps
字典中。
sitemaps = {
'blog': BlogSitemap,
'static': StaticViewSiteMap,
}