如何在Django模板中输出带换行的数据库文本?
我在数据库里保存了一段文本,内容是这样的。
This is the text
This is on a new line with a space in between
当我在Django模板中输出这段文本时,它显示成了这样。
This is the text This is on a new line with a space in between
我该怎么做才能让Django模板中的文本显示得和数据库里的一样呢?
4 个回答
0
<pre> 标签工作得很好,但它有一些默认的设置(比如使用等宽字体和边距)。
对我来说,解决办法是保留 <pre> 标签的核心特性 - 下面的设置:
white-space: pre;
然后进行修改(如果你不需要额外的空格):
white-space: pre-line;
现在,来自数据库字段 models.TextField
的数据可以保留所有的换行符。
0
试着使用 <br/>
<br/>
是一段HTML代码。别忘了你是在用Django做HTML。记住这一点可以帮助你解决很多初学者的问题。
3
我在使用 linebreaks
的时候,它会用 <p>
标签来处理换行,这样可能会导致空行不被保留,或者因为CSS样式的原因你根本看不到空行。你可以试试 linebreaksbr,它会用 <br/>
来处理换行。
希望这对你有帮助。
26
使用 linebreaks
或 linebreaksbr
这个过滤器:
{{ text|linebreaks }}
或者把文本放在 <pre>...</pre>
标签之间。
<pre>{{ text }}</pre>