Nota: questo è specifico del pallone!
So che questo post è piuttosto vecchio, ma ci sono metodi migliori per farlo nelle nuove versioni di Flask usando processori di contesto.
Le variabili possono essere facilmente create:
@app.context_processor
def example():
return dict(myexample='This is an example')
Quanto sopra può essere utilizzato in un modello Jinja2 con Flask in questo modo:
{{ myexample }}
(Quali uscite This is an example
)
Oltre alle funzioni complete:
@app.context_processor
def utility_processor():
def format_price(amount, currency=u'€'):
return u'{0:.2f}{1}'.format(amount, currency)
return dict(format_price=format_price)
Quanto sopra usato in questo modo:
{{ format_price(0.33) }}
(Che genera il prezzo di input con il simbolo della valuta)
In alternativa, puoi usare i filtri jinja , cotti in Flask. Ad esempio usando i decoratori:
@app.template_filter('reverse')
def reverse_filter(s):
return s[::-1]
Oppure, senza decoratori e registrando manualmente la funzione:
def reverse_filter(s):
return s[::-1]
app.jinja_env.filters['reverse'] = reverse_filter
I filtri applicati con i due metodi precedenti possono essere utilizzati in questo modo:
{% for x in mylist | reverse %}
{% endfor %}