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