2016-06-01 18 views
6

Próbuję wyłączyć pamięć podręczną szablonów Jinja2. Rozejrzałem się trochę i odkryłem, że istnieje parametr cache_size dla środowiska jinja. Używam:Wyłącz bufor szablonów Jinja2

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

Używam niestandardowego programu ładującego do dynamicznego ładowania szablonów opartych na domenie (aplikacja obsługuje wiele domen). Niestety, za pomocą tego, wygląda na to, że zastępuje Jinja na domyślne filtry i funkcje wbudowane - używając

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

Dostaję błąd UndefinedError: 'url_for' is undefined. Jaki jest właściwy sposób robienia tego?

Odpowiedz

16

Zamiast tego możesz ustawić wartość app.config['TEMPLATES_AUTO_RELOAD'] = True. Zamiast wyłączać pamięć podręczną, przeładuje szablony, jeśli buforowana wersja nie będzie już pasować do pliku szablonu.