LukinterLab
LukInterLab

LukInterLab- -LukInterLab

profile-pic

Установка и базовая настройка

12 февраля 2025 г. 23:01
Изображение поста

Введение
Django-ckeditor — это мощный визуальный редактор для работы с текстом в Django, который поддерживает различные плагины и модули для расширения его функционала. Одной из распространённых задач является добавление поддержки YouTube-видео и форматирования кода (CodeSnippet). В данной статье мы рассмотрим, как правильно настроить плагины YouTube и CodeSnippet для совместного использования в django-ckeditor, чтобы оба элемента отображались на панели инструментов.

Шаг 1: Установка и базовая настройка django-ckeditor
Если вы ещё не установили django-ckeditor, то вам необходимо сначала его установить и настроить. Для этого выполните следующие шаги:

1. Установите django-ckeditor:

 
source:
pip install django-ckeditor
2. Добавьте его в настройки проекта в файле settings.py:
settings.py :
INSTALLED_APPS = [
    ...
    'ckeditor',
    'ckeditor_uploader',  # Если хотите загружать файлы через редактор
]
3. Настройте URL для загрузки файлов:
urls.py :
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    ...
    path('ckeditor/', include('ckeditor_uploader.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

 

Шаг 2: Настройка toolbar и добавление плагинов
Основная проблема, с которой столкнулся автор, — это то, что при добавлении плагинов YouTube и CodeSnippet одновременно на панель инструментов появляется только один из них. Для решения этой проблемы необходимо вручную настроить toolbar и указать, какие плагины должны быть доступны.

1. В settings.py настройте конфигурацию ckeditor, добавив оба плагина в toolbar:
 settings.py :
# settings.py :
CKEDITOR_CONFIGS = {
    'default': {
        'toolbar': 'Custom',
        'toolbar_Custom': [
            ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', 'RemoveFormat'],
            ['Link', 'Unlink'],
            ['Youtube'],  # Плагин для вставки YouTube-видео
            ['CodeSnippet'],  # Плагин для форматирования кода
            ['NumberedList', 'BulletedList', 'Outdent', 'Indent'],
            ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
            ['Image', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak'],
            ['Maximize', 'ShowBlocks'],
        ],
        'extraPlugins': ','.join([
            'youtube',  # Плагин YouTube
            'codesnippet',  # Плагин CodeSnippet
        ]),
        'height': 300,
        'width': '100%',
        'codeSnippet_theme': 'monokai_sublime',  # Настройка темы для CodeSnippet
    }
}
Здесь:
toolbar_Custom определяет, какие кнопки и плагины будут отображаться на панели инструментов.
extraPlugins — это список плагинов, которые будут дополнительно загружены в ckeditor (в данном случае YouTube и CodeSnippet).
- Настройка 'codeSnippet_theme' определяет тему для отображения кода.

Шаг 3: Проверка подключения плагинов
После того как вы настроили конфигурацию ckeditor в settings.py, важно убедиться, что оба плагина работают корректно. Для этого:
1. Перезапустите сервер Django.
2. Откройте страницу с формой, где подключён ckeditor, и убедитесь, что оба плагина (YouTube и CodeSnippet) отображаются на панели инструментов.

Если оба элемента отображаются, но один из них не работает, это может быть связано с кэшированием браузера. Попробуйте очистить кэш и перезагрузить страницу.

Заключение
Чтобы одновременно использовать плагины YouTube и CodeSnippet в django-ckeditor, необходимо вручную настроить панель инструментов и подключить оба плагина через extraPlugins в settings.py. После правильной настройки оба плагина будут отображаться на панели инструментов и смогут работать совместно, предоставляя вам возможность вставлять YouTube-видео и форматировать код в одном редакторе. Следуя этим шагам, вы сможете настроить нужные вам плагины и расширить функционал ckeditor в вашем проекте.

 

Пока комментариев нет.

Оставьте коментарий