0

我尝试根据文档创建站点地图索引,但失败了。当我在一个站点地图中显示两个模型和我的静态视图时,它运行良好,尽管它很乱。这就是我到目前为止所拥有的。

我创建了一个 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}
    ),
)

我得到的错误似乎与这条线有关。

django调试错误

谢谢你的帮助。

4

0 回答 0