我使用瓶子和peewee作为后端的框架,sqlite3作为DB。 summernote是前面的文本编辑器。成功将代码保存到DB中,但在从DB检索时无法显示文本。
数据库数据: 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个声誉
答案 0 :(得分:1)
当您想要使用瓶子呈现来自数据库的HTML时,您必须告诉呈现引擎内容是否可以安全呈现以避免XSS攻击。
使用bootle,您可以禁用以下表达式的转义:
{{! summernotecontent}}
在您的情况下将是:
$('#summernote').summernote("code", "{{! content}}");
您可以在here瓶
中找到有关此主题的文档