Как заменить перевод строки (\n) на <br> для текстовых данных в html-контенте

Я загружаю данные из базы данных. Текстовые данные имеют разрывы строк \n как загруженные пользователем, я хотел бы распечатать эти данные на html-странице. Однако перенос строк не происходит. Я пробовал заменить \n на <br>, но это печатает <br> как часть строки, а не разрывает строку.

Как я заменяю

value['description'].replace('\n', '<br>')

Как это выглядит:

screenshot showing literal <br>s in text

Я понял, что моя проблема связана с конкретным фреймворком, поскольку, руководствуясь комментарием @Demian Wolf, моя html-разметка получалась экранированной. Поскольку я использую фреймворк django, добавление вызова safe было решением проблемы.

{{ value.description | safe }}

Вы можете использовать тег linebreaksbr templatetag

{{ value|linebreaksbr }}

или по вашему мнению

from django.template.defaultfilters import linebreaksbr
linebreaksbr(value['description'])
Вернуться на верх