python - Django ckeditor 无法添加 youtube 插件

标签 python django plugins youtube ckeditor

我看过这个教程https://samulinatri.com/blog/django-ckeditor-codesnippet-hightlightjs-youtube/我已经在这里下载了 youtube 插件 https://ckeditor.com/cke4/addon/youtube

然后我创建了 youtube 文件夹并将其插入其中。特别是 my_project/static/ckeditor/ckeditor/plugins/youtube/

在我 python manage.py runserver 之后,字段 ['content'] 显示正常,字段 ['content1'] 它不起作用(不显示帧 textarea)。

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

文件模型.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',
        )],
    )

文件设置.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
│                        └── ....
│                   └── ...  
│                └── ...

最佳答案

在您的 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',
        )],
    )

关于python - Django ckeditor 无法添加 youtube 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56994677/

相关文章:

python 从单个列表理解创建一个 set/dict/list 及其值的总和

python - 在 SQLAlchemy 中访问连接查询结果

python - 测试。如何使用外键(自动)向数据库添加许多对象?

grails - 无法使用 grails 渲染插件加载 CSS

php - 在此上下文中,元素 li 不允许作为元素 div 的子元素。 (抑制来自该子树的更多错误。)

python - 在不使用生成器函数的情况下,如何在 Python 中实现与 itertools.count 等效的迭代器?

javascript - 如何将 Python 字典转换为 JavaScript 哈希表?

Python 从包中安装子包

python - 传递参数时Django MySQL查询输出错误

android - 离线Android Gradle插件