禁用模板缓存JJIA2

2022-02-27 00:00:00 python flask jinja2

问题描述

我正在尝试禁用JJIA2的模板缓存。我四处查看了一下,发现JJJA的环境有一个cache_size参数。我正在使用以下内容:

app.jinja_env = jinja2.Environment(
    cache_size = 0, 
    loader = jinja2.FunctionLoader(utils.load_template)
)

我使用自定义加载器根据域动态加载模板(这个应用程序服务于多个域)。不幸的是,使用它,它看起来会覆盖JJJA的默认筛选器和内置函数-使用

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

我收到UndefinedError: 'url_for' is undefined错误。执行此操作的正确方法是什么?


解决方案

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

相关文章