Django: permite el salto de línea desde la entrada del área de texto

2 minutos de lectura

avatar de usuario
barín

¿Cómo permito el salto de línea en la entrada de área de texto en django para mostrar más tarde esta entrada en la página?

  • {{value|striptags|urlize|autolinebreaks} Yo sí

    – Niklas Rosencrantz

    12 de diciembre de 2009 a las 22:54

avatar de usuario
barín

saltos de línea

Reemplaza los saltos de línea en texto sin formato con HTML apropiado; una sola línea nueva se convierte en un salto de línea HTML (<br />) y una nueva línea seguida de una línea en blanco se convierte en un salto de párrafo (</p>).

Por ejemplo:

{{ value|linebreaks }}

Si el valor es Joel\nis a slugla salida será <p>Joel<br />is a slug</p>.

  • Cuando responda con un enlace, también incluya la información relevante proporcionada por este en su publicación en caso de que el sitio se caiga en el futuro.

    – Miguel

    13 de septiembre de 2011 a las 18:12

  • Para aquellos como yo que buscan la solución jinja2, el siguiente enlace de stackoverflow responde eso. Me costó mucho encontrar esta respuesta, así que pongo el enlace aquí stackoverflow.com/questions/10436458/…

    – dev-vb

    30 de septiembre de 2014 a las 1:11

  • ¿Hay alguna manera de preservar la \n caracteres para otras cosas que no sean html, por ejemplo, correos electrónicos, valores de entrada o javascript?

    – La Fiebre JK

    16/03/2017 a las 22:05

  • Nota: Para los modelos, el campo debe ser TextFieldno CharField.

    –Josh Grinberg

    20 de enero de 2019 a las 21:37

no usar {% autoescape off %} ! De lo contrario, es posible que la entrada controlada por el usuario no se escape, lo que es un riesgo de seguridad. Como uso mencionado saltos de línea o linebreaksbr.

Tenía un área de texto para la entrada personalizada mínima del usuario en la plantilla y quería mantener cualquier texto formateado que el usuario insertara para permanecer igual. La solución, simplemente cambié la variable Model a un tipo TextField. Incluso muestra el texto con formato de usuario en el administrador. 🙂

ex.

class Uadds(models.Model):
    title       = models.CharField(max_length = 50)
    description = models.TextField(max_length = 1000)

el título no mostrará saltos de línea, sin embargo, la descripción los mostrará. No he probado esto con un editor de texto enriquecido… Espero que esto haya ayudado.

avatar de usuario
haridas

Usar {% autoescape off %} {{ your_variable }} {% endautoescape %}.

¿Ha sido útil esta solución?