我正在寻找一个好的解决方案,使最终用户可以在模板占位符中插入iframe(Soundcloud)。我想过使用djangocms-txt-ckeditor插件。 在其documentation中,它说使用可配置的消毒剂来实现这一目标:
djangocms-text-ckeditor使用html5lib来清理HTML以避免安全问题>并检查正确的HTML代码。消毒可以剥夺标签用于某些>用例,例如iframe;您可以自定义>覆盖TEXT_ADDITIONAL_TAGS和TEXT_ADDITIONAL_ATTRIBUTES设置所允许的标签和属性:
TEXT_ADDITIONAL_TAGS =(' iframe',)
TEXT_ADDITIONAL_ATTRIBUTES =('滚动',' allowfullscreen',' frameborder')
我确实在我的项目中编辑了settings.py并重新启动了我的webserver(nginx)。但是消毒剂仍在包装它以避免html插入。
我想避免仅为此目的编写SoundCloud插件。
欢迎任何建议。
答案 0 :(得分:6)
正如@yakky在评论中所建议的,我确实更新了Django环境以使用" djangocms_text_ckeditor"在版本2.8.1中。
在我的settings.py中使用此设置时,效果很好:
TEXT_ADDITIONAL_TAGS = ('iframe',)
TEXT_ADDITIONAL_ATTRIBUTES = ('scrolling', 'allowfullscreen', 'frameborder', 'src', 'height', 'width')
(soundcloud)iframe显示,没有发生进一步的问题。
请注意:更新环境可能会导致失败。始终在开发环境中首先尝试。