Home » Flask 插件 » Flask-Themes不算Bug的Bug:模板找不到
  • 28
  • 08月

Flask-Themes版本0.1.3, 主要提示无法找到模板文件,经过跟踪发现有个不知道算不算BUG的地方(330行):

def list_templates(self):
    res = []
    ctx = _request_ctx_stack.top
    if USING_BLUEPRINTS and not self.as_blueprint:
        fmt = '_themes/%s/%s'
    else:
        fmt = '%s/%s'
    for ident, theme in ctx.app.theme_manager.themes.iteritems():
        res.extend((fmt % (ident, t)).encode("utf8") for t in heme.jinja_loader.list_templates())
    return res

要把:

if USING_BLUEPRINTS and not self.as_blueprint:

改为:

if USING_BLUEPRINTS and self.as_blueprint:

模板文件就可以找到了。

上面是第一种方法。

第二种方法:

找到419行:

    templatepath = '_themes/%s/%s' % (theme, templatename)

去掉这行,添加下面4行:

    if USING_BLUEPRINTS:
        templatepath = '%s/%s' % (theme, templatename)
    else:
        templatepath = '_themes/%s/%s' % (theme, templatename)

不过这个插件原作者不更新了,有其他的爱好者在更新。