我正在使用 Flask 和 Jinja2 写一个简单的博客,我想在我的帖子中使用 HTML 标签。
所以我在我的模板中禁用了自动转义,如下所示:
{{ post.body|safe }}
但是当我写类似 >>> print()
或 it's
的东西时,但是我不想自己转义它们,我想启用 自动转义。是否有类似 HTML 标记的东西可以做到这一点?
最佳答案
好吧,如果你想在你的 post.body
中使用 HTML - 然后你必须处理一些符号必须在 HTML 中转义的事实,例如>
应该是 >
.第二个选项是使用 <pre>
.第三个选项是对主体进行后处理,以便代码部分像 >>>
会自动转义。例如:
class Post:
body = "<span><code>>>> print('Hello world')</code></span>"
@property
def html_body(self):
# 1. Locate all <code>...</code> blocks
# 2. Convert the text in them to proper HTML
...
return processed_body
# which should return
# "<span><code>>>> print('Hello world')</code></span>"
关于python - 在 Jinja2 中禁用后重新启用自动转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33079223/