4

我正在寻找一个好的解决方案,使最终用户可以在模板占位符中插入 iframe(Soundcloud)。我考虑过使用 djangocms-txt-ckeditor 插件。在它的文档中,它说使用可配置的消毒剂来完成此操作:

djangocms-text-ckeditor 使用 html5lib 清理 HTML 以避免安全问题 >并检查正确的 HTML 代码。清理可能会去除对某些用例有用的标签,例如 iframe;您可以通过>覆盖 TEXT_ADDITIONAL_TAGS 和 TEXT_ADDITIONAL_ATTRIBUTES 设置来自定义标签和属性:

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

我确实像这样在我的项目中编辑了 settings.py 并重新启动了我的网络服务器(nginx)。但是消毒剂仍在包装它以避免html插入。

我想避免仅为此目的编写 SoundCloud 插件。

欢迎任何建议。

4

1 回答 1

7

正如@yakky 在评论中所建议的那样,我确实在 2.8.1 版中更新了 Django 环境以使用“djangocms_text_ckeditor”。

在我的 settings.py 中使用此设置时,效果很好:

TEXT_ADDITIONAL_TAGS = ('iframe',)
TEXT_ADDITIONAL_ATTRIBUTES = ('scrolling', 'allowfullscreen', 'frameborder', 'src', 'height', 'width')

(soundcloud)iframe 出现并且没有发生进一步的问题。

请注意:更新环境可能会导致失败。始终在开发环境中首先尝试。

于 2016-01-30T21:52:42.527 回答