Вы должны помнить, что ваши шаблоны производят HTML. В HTML символ новой строки - это просто еще один пробел, это не означает, что следующий текст помещается в новую строку. Есть несколько способов заставить новые строки в HTML.
Вы можете заключить текст в тег <pre>
, чтобы HTML понял, что он предварительно отформатирован:
<code><pre>{{value}}
Вы можете использовать фильтры Django, чтобы преобразовать текстовые строки в HTML. linebreaks
превращает одиночные строки в теги <br>
, а двойные строки в теги <p>
. linebreaksbr
просто превращает перевод строки в <br>
теги:
{{value|linebreaks}}
{{value|linebreaksbr}}
Вы можете поэкспериментировать с ними, чтобы увидеть, что вам больше нравится.
В противном случае вы можете использовать манипуляции со строками в своем представлении, чтобы преобразовать ваш обычный текст в HTML таким образом, который вам больше подходит. А если вы хотите действительно продвинуться вперед, вы можете написать свой собственный фильтр, который преобразует, как вам нравится, и использовать его в своих шаблонах.