我正在使用Django进行开发,并从数据库中检索了一些包含换行符的文本。但是,当我使用模板标记将其渲染到模板时,它不会显示换行符。
问题是什么?
我正在使用Django进行开发,并从数据库中检索了一些包含换行符的文本。但是,当我使用模板标记将其渲染到模板时,它不会显示换行符。
问题是什么?
Answers:
您必须记住您的模板正在生成HTML。在HTML中,换行符只是另一个空格,并不意味着将以下文本放在换行符上。有很多方法可以在HTML中强制换行。
您可以使用<pre>
标签来包装文本,以便HTML能够理解其是否已预先格式化:
<pre>{{value}}</pre>
您可以使用Django过滤器将纯文本换行符转换为HTML。linebreaks
将单个换行符变成<br>
标签,而将双换行符变成<p>
标签。linebreaksbr
只是将换行符变成<br>
标签:
{{value|linebreaks}}
{{value|linebreaksbr}}
您可以尝试这些,看看哪个更喜欢。
失败的话,您可以在视图中使用字符串操作,以更适合您的方式将纯文本转换为HTML。而且,如果您想真正提高自己的水平,可以编写自己的过滤器以转换您喜欢的方式,并在整个模板中使用它。