Como você marcar as strings como “seguro” em uma visão (ou o modelo) em Jinja2?
-
13-09-2019 - |
Pergunta
Normalmente quando você quer saída de string marca como seguro em Jinja2 você faz algo parecido com isto:
{{ output_string|safe() }}
No entanto, o que se output_string é sempre seguro? Eu não quero me repetir cada vez usando o filtro de segurança.
Eu tenho um filtro personalizado chamado "emailize" que Preps urls para a saída em um email. Os ampersands sempre parecem tornar-se escapou. Existe uma maneira no meu filtro personalizado para marcar a saída como seguro?
Solução
Use a Markup classe:
classe jinja2.Markup ([string])
Marcas uma string como sendo seguro para inclusão em HTML / saída XML sem a necessidade de ser escapado.
Outras dicas
Verifique SafeString , como por exemplo:
from django.utils.safestring import SafeString
...
return context.update({
'html_string': SafeString(html_string),
})
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow