Как использовать 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 обнаруживается, и никаких дальнейших проблем не возникало.

Помните: обновление вашей среды может привести к сбоям. Всегда пытайтесь сначала в среде разработки.

Другие вопросы по тегам