从sqlite db获取时没有解释换行符?

时间:2012-12-23 03:05:54

标签: html sqlite newline flask

我正在使用Flask和Sqlite。

我接受一些包含换行符的字符串,并将其存储在db中。稍后我会从数据库中获取它并将其包含在某个页面上,并且字符串显示没有换行符。那是什么?

例如,如果我有

{{ entry.content }}

在我的模板中,存储的条目内容为“hello \ nhello”,它在页面上显示“hellohello”。

但是,如果我有

{{ entry.content.replace('\r\n','<br />') }}

{{ entry.content.replace('\r\n','&#13;') }}

在我的模板中,它会显示“hello
hello”或“hello 你好“在页面上。

所以我的印象是浏览器没有解释和显示换行符。我做错了什么?

1 个答案:

答案 0 :(得分:2)

尝试{{entry.content | safe}},这样Flask / Jinja就无法逃脱您的HTML。

(但要小心,因为任何用户输入的内容,包括脚本标签,都将按原样输出。如果你真的想要谨慎并且只允许新标签你可能想要写自己的洗涤器:Jinja2 escape all HTML but img, b, etc