禁用模板缓存Jinja2

时间:2016-06-01 17:20:20

标签: python flask jinja2

我试图禁用Jinja2的模板缓存。我已经做了一些环顾四周,并且我发现jinja环境中有一个app.jinja_env = jinja2.Environment( cache_size = 0, loader = jinja2.FunctionLoader(utils.load_template) ) 参数。我使用以下内容:

@app.route(...)
def page():
    render_template('template') # from flask import render_template

我使用自定义加载程序根据域动态加载模板(应用程序为多个域提供服务)。不幸的是,使用它,看起来它覆盖了Jinja的默认过滤器和内置函数 - 使用

UndefinedError: 'url_for' is undefined

我收到signature GENERAL_FOO_BAR = sig type foo type bar (* lots of stuff here *) end 错误。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:27)

您可能想要设置app.config['TEMPLATES_AUTO_RELOAD'] = True。如果缓存版本不再与模板文件匹配,它将重新加载模板,而不是禁用缓存。