【问题标题】:CKEditor: configuring allowed content in DjangoCMSCKEditor:在 DjangoCMS 中配置允许的内容
【发布时间】:2014-10-23 09:55:25
【问题描述】:

我在配置 CKeditor 时遇到问题。我想在 CKEditor 中制作“如何允许除...之外的所有内容”方案,并且如文档中所写,我需要在配置中写入:

config.allowedContent = {
    $1: {
        // Use the ability to specify elements as an object.
        elements: CKEDITOR.dtd,
        attributes: true,
        styles: true,
        classes: true
    }
};
config.disallowedContent = 'script; *[on*]';

但是由于CKEditor的配置是用python写的,我不能简单地写CKEDITOR.dtd。那么,有没有解决办法呢?

【问题讨论】:

    标签: javascript python ckeditor django-cms


    【解决方案1】:

    在许多情况下,使用settings.py 中的以下声明添加额外的允许标签或属性可能就足够了:

    TEXT_ADDITIONAL_TAGS = ('iframe',)
    TEXT_ADDITIONAL_ATTRIBUTES = ('scrolling', 'allowfullscreen', 'frameborder')
    

    当然,您需要根据自己的需要进行调整。

    如果您真的想要“允许除此之外的所有内容”逻辑,则必须为 Django CMS 用来清理 HTML 的后端编写自己的解析器。这意味着,在前端编辑器上,您可能希望使用选项关闭所有卫生设施

    CKEDITOR_SETTINGS = {
        ...,
        'basicEntities': False,
        'entities': False,
        ...
    }
    

    在后端,documentation 声明您可以编写自己的 Python 解析器来满足您的要求。我还没有尝试过,如果有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 2013-04-24
      • 2014-01-31
      • 1970-01-01
      • 2015-10-21
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      相关资源
      最近更新 更多