我正在寻找一个好的解决方案,使最终用户能够在模板占位符中插入 iframe (Soundcloud)。我考虑过使用 djangocms-text-ckeditor 插件。
在里面文档它说使用可配置的清理程序来完成此操作:
djangocms-text-ckeditor 使用 html5lib 来清理 HTML 以避免安全问题并检查正确的 HTML 代码。清理可能会去除对某些>用例有用的标签,例如 iframe;您可以通过>覆盖 TEXT_ADDITIONAL_TAGS 和 TEXT_ADDITIONAL_ATTRIBUTES 设置来自定义允许的标签和属性:
TEXT_ADDITIONAL_TAGS = ('iframe',)
TEXT ADDITIONAL_ATTRIBUTES = ('滚动', '允许全屏', 'frameborder')
我确实在我的项目中编辑了settings.py,然后重新启动了我的网络服务器(nginx)。但 sanitizer 仍然对其进行包装以避免 html 插入。
我想避免仅为此目的编写 SoundCloud 插件。
欢迎任何建议。
正如 @yakky 在评论中所建议的,我确实更新了 Django 环境以使用版本 2.8.1 中的“djangocms_text_ckeditor”。
在我的 settings.py 中使用此设置时,效果很好:
TEXT_ADDITIONAL_TAGS = ('iframe',)
TEXT_ADDITIONAL_ATTRIBUTES = ('scrolling', 'allowfullscreen', 'frameborder', 'src', 'height', 'width')
(soundcloud) iframe 显示出来,并且没有发生进一步的问题。
请注意:更新您的环境可能会导致失败。始终首先在开发环境中进行尝试。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)