Estoy creando un administrador para Flask y SQLAlchemy, y quiero pasar el HTML para las diferentes entradas a mi vista usando render_template
. El marco de plantillas parece escapar del html automáticamente, por lo que todos los <"'> se convierten en entidades html. ¿Cómo puedo desactivar eso para que el HTML se muestre correctamente?
163
userHome.html
, y me gustaría usarloreturn render_template('userHome.html')
, pero no se procesa correctamente y todos recurren a entidades html en mi consola Chrome.trans
etiqueta, esto debe usarse como{% trans something=something|safe %}A {{something}} B{% endtrans %}
También puede declararlo HTML seguro del código:
Luego pase ese valor a las plantillas y no tienen que
|safe
hacerlo.fuente
De la sección de documentos jinja HTML Escaping :
Ejemplo:
fuente
Cuando tiene muchas variables que no necesitan escapar, puede usar un
autoescape
bloque:fuente
Algunas personas parecen desactivar el autoescape , lo que conlleva riesgos de seguridad para manipular la visualización de la cadena.
Si solo desea insertar algunos saltos de línea en una cadena y convertirlos en saltos de línea
<br />
, entonces podría tomar una macro jinja como:y en su plantilla simplemente llame a esto con
fuente