如何在django-cms中使用iframe

时间:2016-01-21 13:46:26

标签: python django django-templates django-cms djangocms-text-ckeditor

我正在寻找一个好的解决方案,使最终用户可以在模板占位符中插入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插件。

欢迎任何建议。

1 个答案:

答案 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显示,没有发生进一步的问题。

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