Я пытаюсь создать собственный плагин для CKeditor, следуя этому руководству. Я создал указанные файлы (myplugin.png, myplugin.js, plugin.js) и добавил

CKEDITOR_CONFIGS = { 'default': { 'extraPlugins': ','.join( [ 'myplugin' ] ), } }

В настройки.

Однако, когда я пытаюсь загрузить страницу, редактор не появляется, и в консоли появляется следующая ошибка:

ПОЛУЧАТЬ http://127.0.0.1:8000/ static / ckeditor / ckeditor / plugins / myplugin / plugin.js? t = GB8C 404 НЕ НАЙДЕНО)

И в Firebug:

Ошибка: [CKEDITOR.resourceManager.load] Имя ресурса "myplugin" было не найдено в "http://127.0.0.1:8000 /static/ckeditor/ckeditor/plugins/myplugin/plugin.js?t=GB8C ".

Все файлы находятся точно по указанному здесь пути. Я, наверное, сделал что-то не так, но не могу найти что. Буду признателен за небольшую помощь, спасибо. Это содержимое моего файла plugin.js:

CKEDITOR.plugins.add( 'myplugin', {
    icons: 'myplugin',
    init: function( editor ) {
        // Plugin logic goes here...
        editor.addCommand( 'myplugin', new CKEDITOR.dialogCommand( 'mypluginDialog' ) );

        editor.ui.addButton( 'myplugin', {
            label: 'My Plugin',
            command: 'myplugin',
            toolbar: 'insert'
        });
    }
});

Ура

0
Xosted 13 Июл 2017 в 13:27

1 ответ

Лучший ответ

Я действительно нашел проблему. Это не связано с CKeditor, а связано с тем, как Django обрабатывает статические файлы. Я поместил свой собственный плагин в папку ckeditor, расположенную в статической папке. Это неправильно. Статическая папка, обозначенная STATIC_ROOT, должна быть заполнена только путем запуска collectstatic. Любой файл, добавленный другим способом, будет проигнорирован. Поместив файлы, связанные с настраиваемым плагином, в другую папку, указанную в STATICFILES_DIRS, затем запустив collectstatic, он будет добавлен в папку STATIC_ROOT и затем может быть обслужен. У меня остались ошибки, но не связанные с поиском ресурса.

1
Xosted 13 Июл 2017 в 18:00