【问题标题】:Summernote fail to convert html codeSummernote 转换 html 代码失败
【发布时间】: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 声望

【问题讨论】:

    标签: python bottle summernote


    【解决方案1】:

    当你想用瓶子渲染来自数据库的 HTML 时,你必须告诉渲染引擎内容是可以安全渲染的,以避免 XSS 攻击。

    使用 bootle,您可以禁用对如下表达式的转义:

    {{! summernotecontent}}
    

    在你的情况下是:

     $('#summernote').summernote("code", "{{! content}}");
    

    您可以在瓶中找到有关此主题的文档here

    【讨论】:

    • 哦,是的!它可以工作,只需要对 $('#summernote').summernote('code', '{{!content}}'); 进行一些更改# 将"改为',因为Summernote中html标签属性的值保存在双引号中,!和内容之间的空格需要去掉。最后,非常感谢您的帮助!
    猜你喜欢
    • 2017-04-16
    • 2016-05-30
    • 1970-01-01
    • 2015-01-02
    • 2015-04-20
    • 2013-10-24
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多