2009-10-12 31 views
16

jinja2'de tehlikeli denetimsiz girdiden nasıl html kaçınıyor?jinja2: html kaçış değişkenleri

Şablonun içinde yapabilir miyim, yoksa python kodunda mı yapılmalıdır?

<ngero> n & s karakterlerini içeren bir değişkeni var. Jinja2

cevap

28

'dan nasıl çıkabilirim?

e = Environment(loader=fileloader, autoescape=True) 

not: Ayrıca her şey autoescape için çevreyi söyleyebilirdi

Jinija: Template Designer Documentation -> Builtin Filters: Escape

+0

, http://jinja.pocoo.org kullanmak/docs/templates /? highlight = pipe% 20safe # html-kaçan –

+0

Ve yine kırılmış http://jinja.pocoo.org/docs/dev/templates/#builtin-filters – silpol

14

|e filtreden

{{ user.username|e }} 

Boru onu jinja1 bu auto_escape

4

olduğunu Eğer html'den kaçmak istersen ur programı, bu (örneğin) gibi yapabilirsiniz:

>>> import jinja2 
>>> jinja2.__version__ 
'2.6' 
>>> a 
'<script>alert("yy")</script>' 
>>> jinja2.escape(a) 
Markup(u'&lt;script&gt;alert(&#34;yy&#34;)&lt;/script&gt;') 
>>> str(jinja2.escape(a)) 
'&lt;script&gt;alert(&#34;yy&#34;)&lt;/script&gt;'