2012-10-26 16 views
7

{% block ... %} yapılarına jinja2 filtreleri uygulamak mümkün mü? Yapmayı umduğum şey şu satırlar boyunca bir şeydi:jinja2 filtrelerini bir bloğa uygulama?

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

... ama bu işe yaramıyor; Yukarıdaki örnek bir hatayla sonuçlanacaktır. Bir jinja2 filtresinde şablon metni yığınının başka bir yolu var mı?

cevap

6

Sen filter sections kullanabilirsiniz:

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

ben 'block' ve' filter' ters olacaktır. Bu şekilde, şablon uzantısı filtreyi geçersiz kılmaz. – Arion

+0

Bu, belirli bir amaca bağlıdır - "filtreyi", "bloğu" geçersiz kılmaya izin vermek için "bloğu" geçersiz kılmaya veya "filtreye" yerleştirmeye izin vermek için "bloğu" içine yerleştirin. IMHO ilk varyant daha esnek ve ikinci varyant sadece iyi tanımlanmış filtreler ile filtrelenmek için bu bloğa ihtiyacınız olacağından eminseniz iyidir. –

+1

Biliyorsunuz, sanırım bugün belgelerin bu bölümüne birkaç kez bakmış olabilirim ve doğru okumayı başaramadım çünkü {% block ...%} 'üzerine odaklanmıştım. İşaretçi için teşekkürler. – larsks