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 el HTML de forma automática, por lo que todo < "'> se convierten en entidades HTML. ¿Cómo puedo desactivar que para que el HTML procesa de forma correcta?Pasar HTML a la plantilla usando Flask/Jinja2
Respuesta
la forma ideal es
{{ something|safe }}
. de girar completamente fuera de escape de automóviles
también declarareis HTML a salvo del código:
from flask import Markup
value = Markup('<strong>The HTML String</strong>')
pasan luego que Valu e a las plantillas y no tienen que |safe
.
¿existe el marcado en jinja2? – iamgopal
Markup es una clase Jinja2, sí. Implementa una interfaz común soportada por muchas bibliotecas de Python (desafortunadamente no Django). También puede utilizar el paquete markup safe que implementa el mismo objeto: http://pypi.python.org/pypi/MarkupSafe –
Este es el mejor método para escribir filtros personalizados, cuando el filtro tiene que pasar algo de marcado a la plantilla. – erjiang
En la sección documentos Jinja HTML Escaping:
Al escapar automática está habilitada todo se escaparon por defecto excepto para los valores marcados explícitamente como seguro. Esos pueden ser marcados por la aplicación o en la plantilla usando el filtro | safe .
Ejemplo:
<div class="info">
{{data.email_content|safe}}
</div>
http://jinja.pocoo.org/docs/dev/templates/#html-escaping – Akairis
- 1. Lógica de control usando HTML :: Plantilla
- 2. ¿Cómo pasar parámetros a la plantilla PHP procesada con 'incluir'?
- 3. Pasar una variable a la plantilla en Middleman 2
- 4. al pasar una variable a una plantilla de red troncal, ¿cómo hacer referencia a ella en la plantilla?
- 5. Cómo pasar objetos personalizados utilizando la plantilla REST de Spring
- 6. ¿Cómo usar la plantilla HTML con Vaadin?
- 7. ¿Por qué no puedo pasar los parámetros de la plantilla a otra plantilla?
- 8. ¿Cómo puedo inyectar html real del modelo a la plantilla?
- 9. URL de Django directamente a la plantilla html
- 10. Generando HTML usando una plantilla desde una aplicación .NET
- 11. Usando iText para convertir HTML a PDF
- 12. cómo pasar html como una cadena usando wkhtmltopdf?
- 13. La plantilla no existe: 500.html
- 14. Plantilla HTML + JSON vs Servidor HTML
- 15. ¿Cómo pasar parámetros de un controlador a una plantilla?
- 16. Novato: Django: Agregar resultados calculados a Queryset antes de pasar a la plantilla
- 17. Django pasar múltiples modelos para una plantilla
- 18. Rendering una variable de plantilla como HTML
- 19. Usando IMultiValueConverter pasar múltiples CommandParameters a viewmodel
- 20. CSS elemento/formato HTML plantilla
- 21. ¿Cómo pasar CustomActionData a CustomAction usando WiX?
- 22. Cargar plantilla HTML con JavaScript
- 23. Pasar una variable como argumento de plantilla
- 24. Plantilla HTML simple en Python
- 25. Procastinación al pasar del código C# a html/css/jquery
- 26. ¿Hay alguna manera de pasar una variable php a otra página usando un botón (html/php)?
- 27. ¿Cómo pasar la variable AngularJS a Javascript?
- 28. Pasar el nombre de URL variable a la etiqueta url en la plantilla django
- 29. Programas para compilar HTML a partir de una plantilla
- 30. pase un objeto a la plantilla T4
hi @Armin Ronacher, ¿podría por favor explicar más y dar un ejemplo? Gracias. – Samoth
Quiero decir, por ejemplo, tengo un archivo llamado 'userHome.html', y me gustaría usar' return render_template ('userHome.html') ', pero no se procesa correctamente y todos se convierten en ** entidades html ** en mi consola de Chrome – Samoth
En la etiqueta 'trans' esto tiene que ser usado como' {% trans something = something | safe%} A {{something}} B {% endtrans%} ' – Kangur