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