Come si fa a marcare le stringhe come “sicuro” in una vista (o il modello) in Jinja2?

StackOverflow https://stackoverflow.com/questions/1269686

  •  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?

È stato utile?

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
scroll top