> 웹 프론트엔드 > HTML 튜토리얼 > django中,kindeditor存到数据库的html,到了前台被html标签被自动转义的解决办法_html/css_WEB-ITnose

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

WBOY
풀어 주다: 2016-06-21 09:09:54
원래의
1625명이 탐색했습니다.

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)
로그인 후 복사

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

<img src="/static/content_img/img_2015-07-21-024421.jpg" alt="" />KindEditor
로그인 후 복사

取的时候unescape一下

import HTMLParserhtml_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 %}
로그인 후 복사


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿