В настоящее время я использую django -ckeditor для сайта, он прекрасно работает, но мне нужно несколько встроенных объявлений (Google AdSense). После сохранения регистра код удаляется, и я не знаю, где и как настроить protectedSource для разрешения тега.
Я успешно разрешил содержание скрипта, но не тег ins, используемый Google AdSense.
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-XXXXXXXXXXXX"
data-ad-slot="XXXXXXXXXXX"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Мое текущее определение CKEDITOR_CONFIGS в settings.py выглядит следующим образом:
CKEDITOR_CONFIGS = {
'custom': {
'toolbar': 'Custom',
'extraAllowedContent':'script ins',
'removePlugins': 'stylesheetparser',
#'protectedSource': ['/<ins class=\"adsbygoogle\"\>.*?<\/ins\>/g'],
'toolbar_Custom': [
{
'items': [
'RemoveFormat', 'PasteFromWord',
]
},
{
'items': [
'Styles', 'Format', 'Bold', 'Italic', 'Underline',
]
},
{
'items': [
'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent'
]
},
{'items': ['Blockquote', 'Outdent', 'Indent']},
{'items': ['NumberedList', 'BulletedList']},
{
'items': [
'JustifyLeft', 'JustifyCenter',
'JustifyRight', 'JustifyBlock'
]
},
'/',
{'items': ['Font', 'FontSize']},
{'items': ['Source']},
{'items': ['Link', 'Unlink']},
{'items': ['Image', 'Flash', 'Table', 'HorizontalRule', 'Embed']},
{'items': ['Smiley', 'SpecialChar', 'PageBreak', 'Iframe']}
],
'extraPlugins': ','.join([
'div',
'autoembed',
'embedsemantic',
]),
'embed_provider': '//ckeditor.iframe.ly/api/oembed?url={url}&callback={callback}&api_key=abc123',
},
'default': {
'toolbar': 'full',
'removePlugins': 'stylesheetparser',
'allowedContent': True,
}
}