我正在使用 Django 进行开发,从数据库中检索一些包含换行符的文本。但是,当我使用模板标记将其呈现到模板时,它不会显示换行符。
问题是什么?
最佳答案
您必须记住您的模板正在生成 HTML。在 HTML 中,换行符只是另一个空格,并不意味着将以下文本放到新行中。有多种方法可以在 HTML 中强制换行。
你可以用 <pre>
标签包裹你的文本,这样 HTML 就会明白它是预先格式化的:
<pre>{{value}}</pre>
您可以使用 Django 过滤器将纯文本换行符转换为 HTML。
linebreaks
将单个换行符转换为 <br>
标签,将双换行符转换为 <p>
标签。 linebreaksbr
只是将换行符变成 <br>
标签:{{value|linebreaks}}
{{value|linebreaksbr}}
你可以试验这些,看看你更喜欢哪一个。
否则,您可以在 View 中使用字符串操作,以更适合您的方式将纯文本转换为 HTML。如果您想变得更高级,您可以编写自己的过滤器,以您喜欢的方式进行转换,并在整个模板中使用它。
关于html - 从数据库渲染文本时,Django 不显示换行符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1356048/