用于静态页面的Django站点地图

时间:2013-03-06 17:46:18

标签: django

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

该网站仅包含静态网页。

我正在努力让这个代码段工作:

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

如何获取模板名称?

1 个答案:

答案 0 :(得分:0)

让它运转起来。 刚刚将模板添加到每个网址的kwargs