Hinweis: Dies ist flaschenspezifisch!
Ich weiß, dass dieser Beitrag ziemlich alt ist, aber es gibt bessere Methoden, dies in den neueren Versionen von Flask unter Verwendung von Kontextprozessoren zu tun.
Variablen können einfach erstellt werden:
@app.context_processor
def example():
return dict(myexample='This is an example')
Das Obige kann in einer Jinja2-Vorlage mit Flask wie folgt verwendet werden:
{{ myexample }}
(Welche Ausgänge This is an example
)
Sowie vollwertige Funktionen:
@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)
Das obige, wenn es so verwendet wird:
{{ format_price(0.33) }}
(Welches gibt den Eingabepreis mit dem Währungssymbol aus)
Alternativ können Sie Jinja-Filter verwenden , die in Flask eingebrannt sind. ZB mit Dekorateuren:
@app.template_filter('reverse')
def reverse_filter(s):
return s[::-1]
Oder ohne Dekorateure und manuelles Registrieren der Funktion:
def reverse_filter(s):
return s[::-1]
app.jinja_env.filters['reverse'] = reverse_filter
Filter, die mit den beiden oben genannten Methoden angewendet werden, können folgendermaßen verwendet werden:
{% for x in mylist | reverse %}
{% endfor %}