2012-10-26 3 views
7

Ist es möglich, jinja2 Filter auf {% block ... %} Konstrukte anzuwenden? Was ich zu tun hoffte, war etwas in der Art von:Anwenden von jinja2 Filtern auf einen Block?

... aber das funktioniert nicht; Das obige Beispiel führt zu einem Fehler. Gibt es eine andere Möglichkeit, einen Chunk mit Schablonentext in einen jinja2-Filter zu packen?

Antwort

6

können Sie filter sections verwenden:

{% block content %} 
    {% filter upper %} 
     Here is some content that will be rendered in upper case. 
    {% endfilter %} 
{% endblock %} 
+3

ich umkehren würde 'block' und' filter'. Auf diese Weise überschreibt die Template-Erweiterung den Filter nicht. – Arion

+0

Es hängt von einem bestimmten Zweck ab - schachteln Sie den 'Filter' in den' Block', um das Überschreiben oder Verschachteln des 'Blocks' in den' Filter' zu erlauben, um das Überschreiben zu verhindern. IMHO die erste Variante ist flexibler und die zweite Variante ist nur dann gut, wenn Sie sicher sind, dass Sie diesen Block immer mit definierten Filtern filtern müssen. –

+1

Wissen Sie, ich glaube, ich habe diesen Teil der Dokumentation heute mehrmals angeschaut und konnte ihn nicht genau lesen, weil ich mich so auf '{% block ...%}' konzentrierte? Danke für den Zeiger. – larsks