0

我正在为我的新站点创建站点地图。

该网站仅包含静态页面。

我试图让这个片段工作:

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']

如何获取模板名称?

4

1 回答 1

0

让它工作。刚刚将模板添加到每个 url 的 kwargs

于 2013-03-07T06:05:08.443 回答