如何从带有HTML标记的Python(Django)字符串中读取并打印带有换行符的文本?

8

如果有人输入一个短语,例如:

I see you driving

round town with the girl I love,

and I’m like: haiku.

在网页上的文本框中输入一个由三行文字构成的字符串,然后按下一个按钮,通过Django存储到数据库中。在页面上读取该字符串并打印输出,如何使它保留换行符并在HTML页面上打印出来?
因此,不要像这样打印出来: I see you driving round town with the girl I love, and I'm like: haiku.
而是应该打印为:
I see you driving

round town with the girl I love,

and I’m like: haiku.

我知道如果我使用:(textarea)soAndSo.body(/textarea),这将保留用户在原始文件中输入的换行符。但是,如果不使用

4个回答

4

2
将输出内容用 <pre> 包裹起来可以保留格式:<pre>soAndSo.body</pre> 更高级的解决方案是将换行符转换为 HTML 段落或换行符。Django 内置了相关过滤器:无论是linebreaks 还是 linebreaksbr 都可以实现。
如果想要使用这些过滤器,只需将输出内容进行过滤即可:{{ soAndSo.body|linebreaks }}

2
请在模板中使用 linebreaksbr(或 linebreaks)过滤器。例如:{{ value|linebreaksbr }}。如果value是Joel\nis a slug,输出将为Joel<br />is a slug。请注意保留HTML标签。

0

换行符已经存在,只是在 HTML 中没有任何作用。

使用类似于 {{ content|linebreaksbr }} 的过滤器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接