Come si fa a marcare le stringhe come “sicuro” in una vista (o il modello) in Jinja2?
-
13-09-2019 - |
Domanda
In genere quando si desidera contrassegnare uscita stringa come sicuro in Jinja2 si fa qualcosa di simile a questo:
{{ output_string|safe() }}
Tuttavia, quello che se output_string è sempre è sicura? Non voglio ripetermi ogni volta utilizzando il filtro di sicurezza.
Ho un filtro personalizzato chiamato "emailize", che prepara gli URL per l'uscita in un'email. I ampersands sembrano sempre diventare sfuggito. C'è un modo a mio filtro personalizzato per segnare l'uscita come sicuro?
Soluzione
Utilizza il Markup classe:
class jinja2.Markup ([string])
segna una stringa come sicuri per l'inclusione in uscita / XML HTML senza bisogno di essere sfuggito.
Altri suggerimenti
SafeString , come ad esempio:
from django.utils.safestring import SafeString
...
return context.update({
'html_string': SafeString(html_string),
})
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow