I'm trying to disable Jinja2's template cache. I've done some looking around, and I've found that there's a cache_size
parameter for jinja's environment. I'm using the following:
app.jinja_env = jinja2.Environment(
cache_size = 0,
loader = jinja2.FunctionLoader(utils.load_template)
)
I'm using a custom loader to dynamically load templates based on the domain (the app serves multiple domains). Unfortunately, using this, it looks like it overrides Jinja's default filters and builtin functions - using
@app.route(...)
def page():
render_template('template') # from flask import render_template
I'm getting a UndefinedError: 'url_for' is undefined
error. What's the proper way of doing this?
You might want to set app.config['TEMPLATES_AUTO_RELOAD'] = True
instead. Instead of disabling the cache, it will reload templates if the cached version no longer matches the template file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With