我在Django 1.6上遇到了这个问题
这是我的sitemaps.py
from django.contrib import sitemaps
from django.core.urlresolvers import reverse
from datetime import datetime
class ContratalosSitemap(Sitemap):
def __init__(self, names):
self.names = names
def items(self):
return self.names
def changefreq(self, obj):
return 'weekly'
def lastmod(self, obj):
return datetime.now()
这是我的urls.py
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.contrib import admin
from django.contrib.sitemaps import Sitemap
from sitemaps.py import ContratalosSitemap
#Declaration for sitemaps url
sitemaps = {
'pages' : ContratalosSitemap,
}
urlpatterns = patterns(
'apps.contratalos.views',
url(r'c/(?P<slug>\.*[^ ]{1,128})?/', 'c', name='content'),
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps'$
)
我坚持这个,可能是什么原因?
但是没有运气= /
有什么想法吗?
提前致谢!
答案 0 :(得分:2)
将您的班级定义更改为班级ContratalosSitemap(sitemaps.Sitemap):
,它应该有效
答案 1 :(得分:1)
使用import sitemap
您只导入了模块名称。因此,如果您想在模块中使用某些内容,则需要编写sitemap.Sitemap
。
如果你写from sitemap import Sitemap
,你可以从模块中专门导入Sitemap类,并且可以直接使用它,就像你的代码一样。
您也可以执行from sitemap import *
,它将导入模块中的所有定义。但不建议这样做,因为你可能只使用了几个名字。