2010-01-26 17 views
10

Estoy tratando de almacenar el HTML sin escalar dentro de uno de mis modelos de Django para mostrarlo en mi página de inicio. Sin embargo, cuando lo almaceno en un TextField, se escapa y acaba siendo mostrado como texto sin formato. ¿Cómo puedo almacenar HTML sin formato en un modelo de Django?Django - Almacenar html sin escudar en el modelo

** ** EDITAR

Parece como si su no conseguir escaparon en la capa del modelo, pero en la capa de plantilla. ¿Hay alguna etiqueta especial que deba usar? Comprobé el valor en el shell y está bien, pero por alguna razón cuando lo hice {{block.html} (html es el atributo del objeto de bloque que almacena el HTML real) en la plantilla, aparece así:

<p>This is a <strong>very</strong> <em>important</em> <span style="text-decoration: underline;">block</span></p> 
<p style="padding-left: 30px;">it has very significant content!</p> 
+0

No, no lo ha hecho. Te desafío a probar lo contrario. –

Respuesta

15

Usted puede utilizar el filtro safe para presentar texto sin escape, o escape filtro para presentar el texto escapado. También puede usar la etiqueta autoescape para establecer un bloque. ({% autoescape on %} o {% autoescape off %})

+0

Tenga en cuenta la implicancia de seguridad de usar el filtro '| safe' o al deshabilitar el autoescape. Asegúrate de que lo que pase a través de ese filtro/bloque sea realmente seguro. –

Cuestiones relacionadas