You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django-CMS 4.1.0rc4中如何在HTMLField的CKEditor内添加插件?

在Django-CMS 4.1.0rc4中为HTMLField的CKEditor工具栏添加fileimage插件遇到的问题

我在最新版Django-CMS 4.1.0rc4中,尝试给使用djangocms-text-ckeditor的HTMLField工具栏添加fileimage插件/按钮时遇到了困难。

我的代码配置

models.py

class PortfolioItem(CMSPlugin):
    # Attributes - Mandatory
    title = models.CharField(_('title'),
                    max_length=200, 
                    blank=False)

    content = HTMLField()

settings.py

CMS_PLACEHOLDER_CONF = {
 
    'content': {
        'name' : _('Content'),
        'plugins': ['TextPlugin', 'LinkPlugin', 'FilerImage'],
        'default_plugins':[
            {
                'plugin_type':'TextPlugin',
                'values':{
                    'body':'<p>Great websites : %(_tag_child_1)s and %(_tag_child_2)s</p>'
                },
                'children':[
                    {
                        'plugin_type':'LinkPlugin',
                        'values':{
                            'name':'django',
                            'url':'https://www.djangoproject.com/'
                        },
                    },
                    {
                        'plugin_type':'FilerImage',
                        'values':{
                            'name':'django-cms',
                            'url':'https://www.django-cms.org'
                        },
                    },
                ]
            },
        ]
    }
}
CKEDITOR_SETTINGS = {
    'language': '{{ language }}',
    'toolbar': 'CMS',
    'toolbar_HTMLField': [
        ['Undo', 'Redo'],
        ['cmsplugins', '-', 'ShowBlocks'],
        ['Format', 'Styles'],
    ],
    'skin': 'moono-lisa',
}

问题现象

无法获取插件列表,fileimage按钮也不显示,请问如何在嵌套编辑器中添加插件?

控制台报错

bundle-9f0bbac8ec.cms.ckeditor.min.js:25 [CKEDITOR] Error code: editor-plugin-deprecated. {plugin: 'flash'}

解决方案

  • 确认依赖安装:确保djangocms-filer已正确安装并添加到项目的INSTALLED_APPS中,FilerImage插件依赖该包才能正常工作。

  • 修改CKEditor配置:在CKEDITOR_SETTINGS中,显式将fileimage添加到工具栏并声明加载该插件,同时移除废弃的flash插件消除报错:

    CKEDITOR_SETTINGS = {
        'language': '{{ language }}',
        'toolbar': 'CMS',
        'toolbar_HTMLField': [
            ['Undo', 'Redo'],
            ['cmsplugins', 'fileimage', '-', 'ShowBlocks'],  # 添加fileimage按钮到工具栏
            ['Format', 'Styles'],
        ],
        'extraPlugins': 'fileimage',  # 声明要加载的额外插件
        'skin': 'moono-lisa',
        'removePlugins': 'flash',  # 移除废弃的flash插件
    }
    
  • 检查CMS插件权限:如果是在PortfolioItem这个CMS插件的嵌套编辑器中,需确保该插件的配置允许使用FilerImage,可在插件定义文件(如cms_plugin.py)中确认相关权限设置。

  • 清除缓存:修改配置后,清除Django缓存和浏览器缓存,确保新配置生效。


内容的提问来源于stack exchange,提问作者ytsejam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 21:23:21