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