十一月 9th, 2015 by lanxinxichen@126.com

最近做项目使用了whoosh+flask,因为flask使用的是jinjia2 模板引擎,所以就此遇到的html转义的问题做一个解释.
以上为背景.
 
使用whoosh+falsk搜索的时候,我采用的是关键词高亮显示,但是在实际操作的过程中,生成的html是带<b></b>标签的字符串,无论怎样,这个标签字符串总是显示在html页面中.
开始我以为是因为在输出的过程中转义有问题,所以搜索python的html转义方法.无论正转义还是反转义,结果都不行.
QQ截图20151109123714
 
开始后来渐渐怀疑到jinjia2模板引擎上面,我从一开始已未需要加参数 “|e” 调试仍然不行,后来继续搜close escape html 才发现有一个safe参数,能够保证原始的 string 就不会被escape,修改后

{{ row.hit_title|safe }}

QQ截图20151109125754
终于,html标签不再显示为字符串了

Posted in Python Tagged with: , ,