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>
Предварительные теги сохраняют новые пробелы, поэтому, если вы НЕ сделаете поле только для чтения, вы увидите пространственные пространства.