【发布时间】:2020-07-19 18:23:10
【问题描述】:
我知道 jinja 中的安全过滤器和逃生过滤器,但我找不到解决问题的方法。
我有以下字符串:
mystring = """<script>alert('I'm unsafe')</script>
I just entered a new line
Two new lines now!"""
我想在<p> 标记中使用它来正确显示换行符:
<p>{{mystring | replace('\n', '<br>')}}</p>
这不起作用,因为 Jinja2 会自动转义 HTML 标签,但如果我这样做:
<p>{{mystring | replace('\n', '<br>') | safe }}</p>
这样就不安全了。
我试过的是:
<p>{{mystring | escape | replace('\n', '<br>') | safe }}</p>
但上述不起作用,<br>s 仍因某种原因被转义
我怎样才能让<br>标签不被转义?
【问题讨论】:
标签: python python-3.x flask jinja2