python - jinja2 flask 转义 jinja2-highlight

标签 python flask jinja2

我需要在网页中渲染一些代码,并突出显示。我正在使用 Flask 并发现我可以使用 jinja2-highlight 。它工作得很好,但我有一些问题。

我尝试过的:

{% highlight 'python' %}
    {{ item.text }}
 {% endhighlight %}

似乎有效,我有 40 行代码,但所有特殊字符(如 " ...)都显示为这样。所以我将 |safe 添加到行 {{ item.text }} 中。现在,所有字符都正常,但我没有看到完整的代码,只有 5 行(第五行已完成)。

我想我知道问题是什么,但不知道如何解决。

我的代码中有一些像 or 这样的行,它似乎没有被转义。知道为什么 jinja2 不转义 <> 吗?

我也不清楚 |safe 的安全问题。服务器有什么风险?

最佳答案

item.text|safe 应该有帮助。看来您两次转义了代码。您可能启用了某种自动转义。

只要您不共享网站的实际代码,您就不必关心服务器安全。

关于python - jinja2 flask 转义 jinja2-highlight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22287856/

相关文章:

python - Flask 异常处理和消息闪烁

python - 如何对 "signal"感兴趣的子进程(无信号)?

mysql - SQLAlchemy like/regex 查询零个或多个字符

python - SQLAlchemy: AttributeError: 'unicode' 对象没有属性 '_sa_instance_state'

mysql - SQLAlchemy 更新操作出现 MySQL 错误 1292

javascript - 设置 app.route(/something/<argument>) 时/static/的位置更改为/something/static/

python - 符号 |考虑 Flask 教程

Python Spark 数据帧 : replace null with SparseVector

python - 打印列表高级

python - Vim用Python获取视觉选择范围之间的字符串