从数据库中呈现文本时,Django不显示换行符
我正在使用Django进行开发,从数据库中检索一些包含换行符的文本。 但是,当我使用模板标记将其呈现给模板时,它不显示换行符。
问题是什么?
你必须记住你的模板正在生成HTML。 在HTML中,换行符只是另一个空格,并不意味着将下列文本放在新行上。 有很多方法可以在HTML中强制换行。
你可以用一个<pre>
标签来包装你的文本,这样HTML就可以理解它已经被格式化了:
<pre>{{value}}</pre>
您可以使用Djangofilter将纯文本换行符转换为HTML。 linebreaks
将单个换行符转换为<br>
标签,并将换行符加倍到<p>
标签中。 linebreaksbr
只是把换行变成<br>
标签:
{{value|linebreaks}} {{value|linebreaksbr}}
你可以尝试这些来看看你更喜欢哪一个。
如果不这样做,你可以在你的视图中使用string操作来将你的纯文本转换成更适合你的方式。 如果你想得到真正先进的,你可以编写自己的filter,转换你喜欢的方式,并在整个模板中使用它。
不知道我是否完全理解您的问题,但请尝试使用换行符filter。
{{ value|linebreaks }}