禁用模板缓存Jinja2

Tyl*_*ian 11 python jinja2 flask

我正在尝试禁用Jinja2的模板缓存.我做了一些环顾四周,我发现cache_sizejinja的环境有一个参数.我正在使用以下内容:

app.jinja_env = jinja2.Environment(
    cache_size = 0, 
    loader = jinja2.FunctionLoader(utils.load_template)
)
Run Code Online (Sandbox Code Playgroud)

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

@app.route(...)
def page():
    render_template('template') # from flask import render_template
Run Code Online (Sandbox Code Playgroud)

我收到了一个UndefinedError: 'url_for' is undefined错误.这样做的正确方法是什么?

Pet*_*rin 30

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