Как добавить пользовательские шаблоны в django-ckeditor в django

Я пытаюсь использовать функцию Templates CKEditor в Django и хочу добавить несколько пользовательских шаблонов в список. Я использовал этот подход. Я пробовал редактировать

myvenv\Lib\site-packages\ckeditor\static\ckeditor\ckeditor\plugins\templates\templates\default.js

default.js

CKEDITOR.addTemplates("default",{imagesPath:CKEDITOR.getUrl(CKEDITOR.plugins.getPath("templates")+"templates/images/"),templates:[{title:"Welcome Template",image:"template2.gif",description:"A template that you can send to clients as a welcome message.",html:' <h2>Welcome</h2> <p>Hi, <strong> Name here </strong> </p><p>You have recently shown an interest . . . </p>'},]});

но это не помогло, я попробовал команду collect static но и это не помогло. Я все еще вижу те же три шаблона по умолчанию. Я не уверен, но есть еще один вариант использования дополнительных плагинов в файле settings.py, но я не знаю, как его использовать для этой проблемы.

settings.py

CKEDITOR_UPLOAD_PATH = "file_upload/"

CKEDITOR_CONFIGS = {
    'default': {
        'toolbar':'full',
    },
}

apps

INSTALLED_APPS = [
...,
'ckeditor',
'ckeditor_uploader',

]

urls.py

urlpatterns = [
path('ckeditor/',include('ckeditor_uploader.urls')),]

models.py

class text(models.Model):
    body = RichTextField(blank=True, default="None")
    

Итак, мой вопрос в том, как добавить пользовательские шаблоны в django-ckeditor==6.3.2?

Если под шаблоном вы подразумеваете редактирование параметров панели инструментов, вы можете сделать это с помощью чего-то вроде этого в файле settings.py.

CKEDITOR_CONFIGS = {
'default': {
       'toolbar_Full': [
            ['Styles', 'Format', 'Bold', 'Italic', 'Underline', 'Strike', 'SpellChecker', 'Undo', 'Redo'],
            ['Link', 'Unlink', 'Anchor'],
            ['Image', 'Flash', 'Table', 'HorizontalRule'],
            ['TextColor', 'BGColor'],
            ['Smiley', 'SpecialChar'], ['Source'],
            ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
            ['NumberedList','BulletedList'],
            ['Indent','Outdent'],
            ['Maximize'],
        ],
        'extraPlugins': 'justify,liststyle,indent',
   },
}

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

"Иногда необходимо где-то жестко прописать CKEDITOR_BASEPATH. Рекомендуется переопределить шаблон admin/base_site.html своим собственным, если это действительно необходимо, т.е.:"

.
{% extends "admin/base_site.html" %}
{% block extrahead %}
<script>window.CKEDITOR_BASEPATH = '/static/ckeditor/ckeditor/';</script>
{{ block.super }}
{% endblock %}

В этом случае убедитесь, что путь доступен с сайта. Также убедитесь, что вы добавили плагин 'templates' в конфигурацию CKEditor: documentation

Надеюсь, это поможет!

Вернуться на верх