2016-06-01 25 views
6

Sto tentando di disabilitare la cache dei modelli di Jinja2. Ho guardato in giro e ho scoperto che esiste un parametro cache_size per l'ambiente di jinja. Sto usando il seguente:Disabilita cache modello Jinja2

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

sto usando un caricatore personalizzato per caricare dinamicamente modelli basati sul dominio (l'applicazione serve più domini). Purtroppo, utilizzando questo, sembra che la priorità Jinja di filtri predefiniti e funzioni interne - utilizzando

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

sto ottenendo un errore di UndefinedError: 'url_for' is undefined. Qual è il modo corretto di farlo?

risposta

16

È possibile impostare invece app.config['TEMPLATES_AUTO_RELOAD'] = True. Invece di disabilitare la cache, ricaricherà i modelli se la versione memorizzata nella cache non corrisponde più al file del modello.