Summernote 转换 html 代码失败
Posted
技术标签:
【中文标题】Summernote 转换 html 代码失败【英文标题】:Summernote fail to convert html code 【发布时间】:2017-10-27 02:25:43 【问题描述】:我使用bottle和peewee作为后端框架,sqlite3作为数据库。而summernote是最前面的文本编辑器。成功将代码保存到数据库中,但从数据库中检索时无法显示文本。
数据库数据: The Draft column is the html
源码:
正面:
$('#summernote').summernote("code", "content");
后端:
template('apps_post_editer', appName='Post New', pid=newPost.id, title=('' if newPost.title is None else str(newPost.title)), content=('' if newPost.draft is None else unicode(str(newPost.draft), "utf-8")))
一开始我以为是编码问题,所以我用unicode转了utf-8
里面的值,但是不行。而且也只失败了str(newPost.draft)
结果: You can see that the html code is not converted
问题: 为什么会这样?有什么解决办法吗?
非常感谢。
更新:抱歉这是我的第一个问题,不知道为什么图片不显示...请点击链接获取更多详细信息... 好的...需要 10 声望
【问题讨论】:
【参考方案1】:当你想用瓶子渲染来自数据库的 HTML 时,你必须告诉渲染引擎内容是可以安全渲染的,以避免 XSS 攻击。
使用 bootle,您可以禁用对如下表达式的转义:
! summernotecontent
在你的情况下是:
$('#summernote').summernote("code", "! content");
您可以在瓶中找到有关此主题的文档here
【讨论】:
哦,是的!它可以工作,只需要对 $('#summernote').summernote('code', '!content'); 进行一些更改# 将"改为',因为Summernote中html标签属性的值保存在双引号中,!和内容之间的空格需要去掉。最后,非常感谢您的帮助!以上是关于Summernote 转换 html 代码失败的主要内容,如果未能解决你的问题,请参考以下文章
summernote vue html编辑器不会将图像上传到服务器