Debe recordar que sus plantillas producen HTML. En HTML, un carácter de nueva línea es solo otro espacio en blanco, no significa colocar el siguiente texto en una nueva línea. Hay varias formas de forzar nuevas líneas en HTML.
Puede envolver su texto con una <pre>
etiqueta para que HTML entienda que está preformateado:
<pre>{{value}}</pre>
Puede usar filtros Django para convertir sus nuevas líneas de texto sin formato en HTML. linebreaks
convierte las líneas nuevas en <br>
etiquetas y las líneas nuevas en <p>
etiquetas. linebreaksbr
simplemente convierte las nuevas líneas en <br>
etiquetas:
{{value|linebreaks}}
{{value|linebreaksbr}}
Puedes experimentar con estos para ver cuál te gusta más.
De lo contrario, puede usar la manipulación de cadenas en su vista para convertir su texto sin formato en HTML de la manera que más le convenga. Y si desea avanzar realmente, puede escribir su propio filtro que convierta de la manera que desee y usarlo en todas sus plantillas.
No estoy seguro de haber entendido totalmente su pregunta, pero intente usar el filtro de saltos de línea.
fuente