发布网友 发布时间:2022-05-13 17:32
共2个回答
懂视网 时间:2022-05-13 21:54
1,使用kindeditor进行了上传图片功能,存储到后台的html代码为:KindEditor
2,我把这个unicode字符串返回到前台的模板,结果显示了html代码:
KindEditor
3,自己开始的解决办法:
存的时候进行escape
content = cgi.escape(content)
这样处理后存到后台的代码变成了:
<img src="https://www.gxlcms.com/static/content_img/img_2015-07-21-024421.jpg" alt="" />KindEditor
取的时候unescape一下
import HTMLParserhtml_parser = HTMLParser.HTMLParser()infoContent = html_parser.unescape(info.content)
这样处理后的代码变成了:
KindEditor
4,但是这样问题没有得到处理,于是自己写了一个测试,直接把这段html字符串HttpResponse回到页面,结果显示正常。
又查了下自己原来处理方式的前台的源代码,结果是被转义后的。于是想到如果通过{{content}}方式在前台显示html代码
的话,django模板在编译的时候,会自动对html标签进行转义,稍微查了下,使用以下方式不让django模板自动转义
html标签。同时也解决了自己的问题。
{% autoescape off %}{{infoContent}}{% endautoescape %}
热心网友 时间:2022-05-13 19:02
这个需要用到模板啊,用safe过滤器为单独的变量关闭自动转意,用法是这样的,比如: