我有一个用django写的博客,我正试图在其中添加语法突出显示。帖子作为纺织品标记写入并存储在数据库中。下面是通过模板引擎呈现它们的方式:
{{ body|textile|pygmentize|safe }}
它正确地呈现了所有的HTML,并且代码被高亮显示,但是代码块中的一些字符被转义。特别是双引号、单引号和大于号。
下面是我正在使用的Pygments过滤器:http://djangosnippets.org/snippets/416/
我不确定到底是哪个过滤器在里面放了转义字符,也不知道如何让它停止。有什么建议吗?
发布于 2012-05-10 15:41:35
我在另一个页面上回答这个问题时,无耻地插入了:https://stackoverflow.com/a/10138569/1224926
问题是美丽的汤(正确的)假设代码是不安全的。但是如果你把它解析成一棵树,并把它传递进去,它就能工作。所以你的台词是:
code.replaceWith(highlight(code.string, lexer, HtmlFormatter()))应该变成:
code.replaceWith(BeautifulSoup(highlight(code.string, lexer, HtmlFormatter())))你就会得到你所期望的。
https://stackoverflow.com/questions/4893169
复制相似问题