python mako ckeditor 两坑

葫芦的运维日志

下一篇 搜索 上一篇

2018/12/18 21:19


坑1:html在django 的mako模版中进行转义:

数据库内html标记转义:

数据库中既有这样的数据:

<p><p><p&

也有这样的数据:

 <li>针对小厂商和大厂商不同灰度策略支持</li>

通过下面的方法可以将&lt;转义为可渲染的html页面内容:

<%! import HTMLParser %>
        % for item in items:

${HTMLParser.HTMLParser().unescape(item.comment)}
        % endfor

坑2:老版本的的django和ckeditor 兼容性不好,导致后台在是使用富文本编辑器类似ckeditor保存数据时会自动添加html标签,用新版本1.11以上的django和ckeditor未发现此问题。

解决方法:

修改ckeditor的config.js文件

/**
 * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
 */

CKEDITOR.editorConfig = function (config) {
    // Define changes to default configuration here. For example:
    config.htmlEncodeOutput = false;
    config.entities = false;

    config.entities = false;
    config.basicEntities = false;
    config.entities_greek = false;
    config.entities_latin = false;
    config.htmlEncodeOutput = false;
    //   config.language = 'fr';
    config.enterMode = CKEDITOR.ENTER_BR;
    //   config.shiftEnterMode = CKEDITOR.ENTER_BR;

    //
    //   config.uiColor = '#AADC6E';
    // config.removePlugins = 'elementspath'; //这个只是不显示body和p标签,并没有去掉自动增加的p标签
    //config.startupMode = 'source'; //启动源码

};

 

葫芦的运维日志

打赏

上一篇 搜索 下一篇
© 冰糖葫芦甜(bthlt.com) 2019 王梓 打赏联系方式 陕ICP备17005322号