2009-08-13 14 views
14

Normalmente cuando se quiere marcar salida de cadena como seguro en Jinja2 haces algo como esto:¿Cómo se marcan las cadenas como "Seguras" en una vista (o la plantilla) en Jinja2?

{{ output_string|safe() }} 

Sin embargo, lo que si es output_string siempre seguro? No quiero repetirme cada vez que uso el filtro seguro.

Tengo un filtro personalizado llamado "emailize" que prepara urls para salida en un correo electrónico. Los signos y signos siempre parecen escapar. ¿Hay alguna forma en mi filtro personalizado para marcar la salida como segura?

Respuesta

11

Uso del Markup clase:

clase jinja2.Markup ([cadena])

marcas de una cadena como seguros para su inclusión en la salida HTML/XML sin necesidad de ser escapado.

11

Comprobar SafeString, como por ejemplo:

from django.utils.safestring import SafeString 
... 
return context.update({ 
     'html_string': SafeString(html_string), 
}) 
+1

Esto no funciona en Jinja2 – Greg

Cuestiones relacionadas