我尝试根据文档创建站点地图索引,但失败了。当我在一个站点地图中显示两个模型和我的静态视图时,它运行良好,尽管它很乱。这就是我到目前为止所拥有的。
我创建了一个 sitemaps.py。
# sitemaps.py
from django.contrib.sitemaps import Sitemap
from django.core.urlresolvers import reverse
from apps.project.models import Project
from django.contrib.auth import get_user_model
class StaticViewSitemap(Sitemap):
priority = 0.5
changefreq = 'daily'
def items(self):
return [
'home_app:home',
'explore_app:explore',
'customauth_app:login',
'customauth_app:signup',
'contact_app:contact',
]
def location(self, item):
return reverse(item)
class ProjectSitemap(Sitemap):
changefreq = "weekly"
priority = 0.5
def items(self):
return Project.objects.all()
class UserSitemap(Sitemap):
changefreq = "daily"
priority = 0.5
def items(self):
user = get_user_model()
return user.objects.all()
我的网址是这些:
# urls.py
from django.conf.urls import patterns, include, url
from .sitemaps import ProjectSitemap, UserSitemap, StaticViewSitemap
sitemaps = {
'project': ProjectSitemap,
'user': UserSitemap,
'static': StaticViewSitemap,
}
urlpatterns = patterns(
'django.contrib.sitemaps.views',
## This works, but don't create a sitemap index.
# url(
# r'^sitemap\.xml$',
# 'sitemap',
# {'sitemaps': sitemaps},
# name='django.contrib.sitemaps.views.sitemap'
# ),
url(
r'^sitemap\.xml$',
'index',
{'sitemaps': sitemaps},
),
url(
r'^sitemap-(?P<section>.+)\.xml$',
'sitemap',
{'sitemaps': sitemaps}
),
)
我得到的错误似乎与这条线有关。
谢谢你的帮助。