我看过这个教程 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)。
有人帮我检查,我做错了什么。谢谢!!!。
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',
)],
)
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']),
}
}
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',
)],
)