python - sheet - jinja2 django
jinja2: variables de escape html (4)
Frasco tiene un filtro de tojson
:
¿Cómo puedo html-escape entrada insanitada peligrosa en jinja2?
¿Puedo hacerlo dentro de la plantilla o debe hacerse en código python?
Tengo una variable que puede contener los caracteres de u & s de da <ngero>. ¿Cómo me escapo en jinja2?
Si quiere escapar de HTML en su programa, puede hacerlo de esta manera (ejemplo):
>>> import jinja2
>>> jinja2.__version__
''2.6''
>>> a
''<script>alert("yy")</script>''
>>> jinja2.escape(a)
Markup(u''<script>alert("yy")</script>'')
>>> str(jinja2.escape(a))
''<script>alert("yy")</script>''
También puedes decirle al entorno que autoescape todo:
e = Environment(loader=fileloader, autoescape=True)
Nota: en jinja1 esto es auto_escape.
p.ej
{{ user.username|e }}
Conducirlo a través del filtro |e
Jinija: Documentación del diseñador de plantillas -> Filtros incorporados: Escape