我正在为我的新站点创建站点地图。
该网站仅包含静态页面。
我试图让这个片段工作:
class StaticSitemap(sitemaps.Sitemap):
"""Return the static sitemap items"""
priority = 0.5
def __init__(self, patterns):
self.patterns = patterns
self._items = {}
self._initialize()
def _initialize(self):
for p in self.patterns:
if getattr(p, 'name', None) is not None:
print p.name
self._items[p.name] = self._get_modification_date(p)
def _get_modification_date(self, p):
template = getattr(p, 'template', None)
template_path = self._get_template_path(template)
mtime = os.stat(template_path).st_mtime
return datetime.datetime.fromtimestamp(mtime)
def _get_template_path(self, template_path):
for template_dir in settings.TEMPLATE_DIRS:
path = os.path.join(template_dir, template_path)
if os.path.exists(path):
return path
return None
def items(self):
return self._items.keys()
def changefreq(self, obj):
return 'monthly'
def lastmod(self, obj):
return self._items[obj]
def location(self, obj):
return reverse(obj)
我从这一行得到了模板上的这个 KeyError:template = p.default_args['template']
如何获取模板名称?