django中,kindeditor存到数据库的html,前台html标签被自动转义的解决办法

本文介绍了一种在Django应用中处理HTML代码转义的问题及解决方案,包括使用Python标准库对HTML内容进行编码与解码的方法,并最终通过调整Django模板引擎设置来正确显示HTML元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,使用kindeditor进行了上传图片功能,存储到后台的html代码为:

<img src="/static/content_img/img_2015-07-21-024421.jpg" alt="" />KindEditor

2,我把这个unicode字符串返回到前台的模板,结果显示了html代码:

<img src="/static/content_img/img_2015-07-21-024421.jpg" alt="" />KindEditor

3,自己开始的解决办法:

   存的时候进行escape

content = cgi.escape(content)

   这样处理后存到后台的代码变成了:

&lt;img src="/static/content_img/img_2015-07-21-024421.jpg" alt="" /&gt;KindEditor

   取的时候unescape一下

import HTMLParser
html_parser = HTMLParser.HTMLParser()
infoContent = html_parser.unescape(info.content)

   这样处理后的代码变成了:

<img src="/static/content_img/img_2015-07-21-024421.jpg" alt="" />KindEditor

4,但是这样问题没有得到处理,于是自己写了一个测试,直接把这段html字符串HttpResponse回到页面,结果显示正常。

   又查了下自己原来处理方式的前台的源代码,结果是被转义后的。于是想到如果通过{{content}}方式在前台显示html代码

   的话,django模板在编译的时候,会自动对html标签进行转义,稍微查了下,使用以下方式不让django模板自动转义

   html标签。同时也解决了自己的问题。

{% autoescape off %}
{{infoContent}}
{% endautoescape %}


转载于:https://my.oschina.net/yangting880815/blog/481096

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值