Вопрос по python, django-cms, django-templates, djangocms-text-ckeditor, django – Как использовать iframes в django-cms

3

Я ищу хорошее решение, позволяющее конечным пользователям вставлять 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 только для этой цели.

Любые предложения приветствуются.

@Mishbah спасибо за этот совет. Я это проверю. Хотя я и надеялся добиться этого без каких-либо дополнительных плагинов. svenwildermann
Какую версию djangocms_text_ckeditor вы установили? Используя версию 2.8, я могу просто создать iframe, добавив указанные выше настройки в настройки проекта. yakky
Я использую версию 2.7.1 в настоящее время. Я рассматриваю обновление сейчас. svenwildermann
Я сделал плагин django-cms, чтобы вы могли его использовать.github.com/mishbahr/djangocms-embed mishbah

Ваш Ответ

1   ответ
6

я обновил среду Django для использования «djangocms_text_ckeditor» в версии 2.8.1.

Используя эти настройки в моем файле settings.py, он прекрасно работает:

TEXT_ADDITIONAL_TAGS = ('iframe',)
TEXT_ADDITIONAL_ATTRIBUTES = ('scrolling', 'allowfullscreen', 'frameborder', 'src', 'height', 'width')

(Soundcloud) iframe обнаруживается, и никаких дальнейших проблем не возникало.

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

Похожие вопросы