Django ckeditor无法添加youtube插件。

问题描述 投票:0回答:1

我看过这个教程 https:/samulinatri.comlogdjango-ckeditor-codesnippet-hightlightjs-youtube。 我已经在这里下载了YouTube插件 https:/ckeditor.comcke4addonyoutube。

然后我创建了youtube文件夹,并把它推送进去。具体来说就是my_project static ckeditor ckeditor plugins youtube。

当我用python manage.py运行服务器后,字段['content']显示正常,字段['content1']不工作(不显示frames textarea)。

有人帮我检查,我做错了什么。谢谢!!!。

文件model.py

class Posts(models.Model):
    title = models.CharField(max_length=50)
    content = RichTextUploadingField(extra_plugins=['codesnippet'],)
    content1 = RichTextUploadingField(
        config_name='special',
        extra_plugins=['youtube'],
        external_plugin_resources=[(
            'youtube',
            '/static/ckeditor/ckeditor/plugins/youtube/youtube/',
            'plugin.js',
        )],
    )

文件 setting.py

INSTALLED_APPS = [
    'suit',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',

    'ckeditor',
    'ckeditor_uploader',
]

CKEDITOR_UPLOAD_PATH = "uploads/"

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

    'special': {
        'toolbar': 'Special',
        'toolbar_Special': [
            ['Bold'], ['CodeSnippet', 'Youtube'],
        ],
        'extraPlugins': ','.join(['codesnippet', 'youtube']),
    }
}

文件 urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('account/', include(('accounts.urls', 'accounts'), namespace='accounts')),
    path('blog/', include(('blog.urls', 'blog'), namespace='blog')),
    path('ckeditor/', include('ckeditor_uploader.urls')),
]
if settings.DEBUG:
    import debug_toolbar

    debug_patterns = [
        re_path(r'^__debug__/', include(debug_toolbar.urls)),
    ]
    urlpatterns = debug_patterns + urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我的项目

├── blog                          <= This my_app
│   ├── view.py             
│   ├── form.py
│   ├── model.py
├── project                          <= Project settings directory
│   ├── __init__.py
│   ├── settings.py          <= settings 
│   ├── urls.py
│   └── wsgi.py 
├── static                         
│   ├── ckeditor           
│       ├── ckeditor_uploader
│       ├── ckeditor        
│           ├── plugins
│               └── youtube   
│                   └── youtube  
│                        └── images
│                        └── lang 
│                        └── plugin.js
│                        └── ....
│                   └── ...  
│                └── ...
python django plugins youtube ckeditor
1个回答
0
投票

在你的 models.py 文件,你需要指向的目录是 plugin.js 是。

我相信你应该参考的目录是这样的。

class Posts(models.Model):
    title = models.CharField(max_length=50)
    content = RichTextUploadingField(extra_plugins=['codesnippet'],)
    content1 = RichTextUploadingField(
        config_name='special',
        extra_plugins=['youtube'],
        external_plugin_resources=[(
            'youtube',
            '/static/ckeditor/ckeditor/plugins/youtube/',
            'plugin.js',
        )],
    )
© www.soinside.com 2019 - 2024. All rights reserved.