Newline в models.TextField() не отображается в шаблоне

У меня есть модель с атрибутом,

desc = models.TextField()

Я ввел данные, используя интерфейс администратора, предоставленный Django, а затем просмотрел мой шаблон, где извлекаются и отображаются значения базы данных.

В моем интерфейсе администратора я оставил новую строку (просто оставив пустые строки между моими абзацами), но они отображаются как один абзац в моем шаблоне.

Я использую Django 1.3 и MySQL.

Ответ 1

linebreaks

Заменяет разрывы строк простым текстом на соответствующий HTML; одна новая строка становится перерывом в строке HTML (<br />), а новая строка, за которой следует пустая строка, становится перерывом в абзаце (</p>).

Например:

{{ value|linebreaks }}

Ответ 2

Просто заметьте, у меня была аналогичная проблема с появлением новых строк, и я понял, что когда TextField объявляется как readonly, текст обернут тегами абзаца HTML:

<p> text </p>

в отличие от предварительных тегов:

<pre> text </pre>

Предварительные теги сохраняют новые пробелы, поэтому, если вы НЕ сделаете поле только для чтения, вы увидите пространственные пространства.