【发布时间】:2013-01-29 21:23:28
【问题描述】:
我想向用户显示一些文本。我发送的字符串变量有多个换行符,我不想显示\n。所以我做了:
footext = """f
o
o"""
#footext == "f\no\no"
@app.route("/someurl")
def foo():
return render_template("bar.html", text = footext.replace("\n", "<br />"))
bar.html:
<html>
{{ text }}
</html>
但是自动转义已启用,我看到的是f<br />o<br />o。我的方法也不安全,我希望除<br /> 之外的每个标签都从文本中转义。我看了一下flask.Markup 模块,但是它们也没有真正起作用。
这样做的正确方法是什么?
【问题讨论】: