Как использовать iframes в django-cms
Я ищу хорошее решение, позволяющее конечным пользователям вставлять iframes (Soundcloud) в шаблон заполнителя. Я думал об использовании плагина djangocms-txt-ckeditor. В документации говорится, что для этого нужно использовать настраиваемое дезинфицирующее средство:
djangocms-text-ckeditor использует html5lib для очистки HTML, чтобы избежать проблем с безопасностью> и для проверки правильности HTML-кода. При дезинфекции могут быть удалены метки, полезные для некоторых случаев использования, таких как iframe; Вы можете настроить разрешенные теги и атрибуты, переопределив настройки TEXT_ADDITIONAL_TAGS и TEXT_ADDITIONAL_ATTRIBUTES:
TEXT_ADDITIONAL_TAGS = ('iframe',)
TEXT_ADDITIONAL_ATTRIBUTES = ('прокрутка', 'allowfullscreen', 'frameborder')
Я так отредактировал файл settings.py в своем проекте и перезапустил свой веб-сервер (nginx). Но дезинфицирующее средство все еще упаковывает его, чтобы избежать вставки html.
Я хотел бы избежать написания плагина SoundCloud только для этой цели.
Любые предложения приветствуются.
1 ответ
Как предложено @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 обнаруживается, и никаких дальнейших проблем не возникало.
Помните: обновление вашей среды может привести к сбоям. Всегда пытайтесь сначала в среде разработки.