从数据库中呈现文本时,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 }}