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