2012-10-26 12 views
7

Czy można zastosować filtry jinja2 do konstrukcji {% block ... %}? To, co miałem nadzieję zrobić, to coś w rodzaju:Stosowanie filtrów jinja2 do bloku?

{% block content|upper %} 
here is some content that will be rendered in upper case 
{% endblock %} 

... ale to nie działa; powyższy przykład spowoduje błąd. Czy istnieje inny sposób na zawijanie fragmentu tekstu szablonu w filtrze jinja2?

Odpowiedz

6

Można użyć filter sections:

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

chciałbym odwrócić 'block' i' filter'. W ten sposób rozszerzenie szablonu nie zastąpi filtra. – Arion

+0

To zależy od konkretnego celu - umieść 'filter' w' bloku', aby umożliwić przesłonięcie lub zagnieździć 'blok' w' filter', aby uniemożliwić nadpisanie. IMHO pierwszy wariant jest bardziej elastyczny, a drugi wariant jest dobry tylko wtedy, gdy masz pewność, że zawsze będziesz potrzebował tego bloku do filtrowania za pomocą zdefiniowanych filtrów. –

+1

Wiesz, wydaje mi się, że mogłem wpatrywać się w tę część dokumentacji kilka razy dzisiaj i nie przeczytałem jej dokładnie, ponieważ byłem tak skoncentrowany na '{% bloku ...%}'? Dzięki za wskaźnik. – larsks

Powiązane problemy