禁用模板缓存 Jinja2
Disable Template Cache Jinja2
我正在尝试禁用 Jinja2 的模板缓存。我环顾四周,发现 jinja 的环境有一个 cache_size
参数。我正在使用以下内容:
app.jinja_env = jinja2.Environment(
cache_size = 0,
loader = jinja2.FunctionLoader(utils.load_template)
)
我正在使用自定义加载器根据域动态加载模板(应用程序服务于多个域)。不幸的是,使用它,它看起来像是覆盖了 Jinja 的默认过滤器和内置函数 - 使用
@app.route(...)
def page():
render_template('template') # from flask import render_template
我遇到 UndefinedError: 'url_for' is undefined
错误。这样做的正确方法是什么?
您可能想改为设置 app.config['TEMPLATES_AUTO_RELOAD'] = True
。如果缓存版本不再匹配模板文件,它将重新加载模板,而不是禁用缓存。
我正在尝试禁用 Jinja2 的模板缓存。我环顾四周,发现 jinja 的环境有一个 cache_size
参数。我正在使用以下内容:
app.jinja_env = jinja2.Environment(
cache_size = 0,
loader = jinja2.FunctionLoader(utils.load_template)
)
我正在使用自定义加载器根据域动态加载模板(应用程序服务于多个域)。不幸的是,使用它,它看起来像是覆盖了 Jinja 的默认过滤器和内置函数 - 使用
@app.route(...)
def page():
render_template('template') # from flask import render_template
我遇到 UndefinedError: 'url_for' is undefined
错误。这样做的正确方法是什么?
您可能想改为设置 app.config['TEMPLATES_AUTO_RELOAD'] = True
。如果缓存版本不再匹配模板文件,它将重新加载模板,而不是禁用缓存。