Django, HTML automática “desinfectar” la hora de poner a HTML plantilla, cómo detenerlo?
-
30-09-2019 - |
Pregunta
Estoy un poco confundido por esto porque parece que las plantillas de Django tienen filtros opcionales HTML pero esto parece estar ocurriendo de forma automática .. Estoy haciendo esta aplicación de demostración donde el usuario va a hacer una acción que llama a un script en Python que recupera una URL, entonces me desea mostrar esto en una nueva ventana .. su todo bien, excepto cuando la pantalla se vuelve, el HTML es verificada en este formato (veo esto cuando veo la fuente de la página, en el navegador que muestra lo más regular HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html; charset=utf-8" http-equiv="content-type" /><script type="text/javascript">//<![CDATA[
si_ST=new Date
esta es la versión HTML normal del mismo:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html; charset=utf-8" http-equiv="content-type" /><script type="text/javascript">//<![CDATA[ si_ST=new Date //]]></script><script type="text/javascript">//<![CDATA[ _G={ST:(si_ST?si_ST:new Date),Mkt:"en-
Sólo estoy dar salida a un bloque básico en mi plantilla HTML, la plantilla no tiene otro formato (sin HTML, etc.), a 1 cuadra donde esta salida va .. algún consejo sobre qué está sucediendo esto y cómo mostrar el HTML normal (por lo que sería una muestra de la página en el navegador y no el texto HTML) se aprecia .. gracias
Solución
El uso del filtro de seguridad:
{{ myvariable|safe }}
Si necesita una gran parte de su plantilla tratado así (es decir, si usted se encuentra usando |safe
una y otra vez), puede desactivar el todo-venta autoescaping:
{% autoescape off %}
blah {{myvariable}} blah {{myothervariable}}
{% endautoescape %}
Otros consejos
Tome una mirada en el filtro de "seguro", que desactiva por defecto de Django escapar:
http://docs.djangoproject.com/en/1.2 / ref / templates / órdenes internas / # segura
También hay autoescape que controles que escapan bloque de ancho.