【发布时间】:2018-06-25 13:23:29
【问题描述】:
我一直在尝试在 CKEditor 中为一个项目安装 YouTube 插件,但我失败了,我不知道为什么。
我已按以下方式配置了我的 settings.py(删除了与此问题无关的代码:
CKEDITOR_CONFIGS = {
'default': {
'toolbar_Collective':[
['Source', '-', 'Bold', 'Italic'],
# ...
{
'name': 'links',
'items': ['Link', 'Unlink']
},
{
'name': 'media',
'items': ['ImageButton', 'Youtube']
},
# ...
{'name': 'tools', 'items': ['Maximize']},
],
'toolbar':'Collective',
'width': '100%',
'height': 400,
'tabSpaces': 4,
'extraPlugins': ','.join([
]),
}
}
目前我将“extraPlugins”配置留空,因为只要我在那里写“youtube”:
'extraPlugins': ','.join([
'youtube',
]),
CKEditor 失败,我的终端显示如下:
[16/Jan/2018 18:31:16] "GET /post/new/ HTTP/1.1" 200 7239
[16/Jan/2018 18:31:16] "GET /static/ckeditor/ckeditor-init.js HTTP/1.1" 304 0
[16/Jan/2018 18:31:16] "GET /static/css/main.css HTTP/1.1" 304 0
[16/Jan/2018 18:31:16] "GET /static/ckeditor/ckeditor/ckeditor.js HTTP/1.1" 304 0
[16/Jan/2018 18:31:16] "GET /static/js/script.js HTTP/1.1" 304 0
[16/Jan/2018 18:31:16] "GET /static/ckeditor/ckeditor/plugins/youtube/plugin.js?t=H4PG HTTP/1.1" 404 1749
Performing system checks...
您可以看到还有其他错误代码,甚至关于页面 css。我不知道它们为什么在那里,但无论进行任何编辑,它们都在那里,并且编辑器的功能与它们无关。真正的问题在于 YouTube 插件(这是我目前计划安装的唯一插件)。
我还尝试使用文档中提到的 RichTextUploadingField 配置我的 models.py 文件,并且我已经完成了以下操作:
class Post(models.Model):
# ...
text = RichTextField(
config_name='default',
extra_plugins=['youtube'],
external_plugin_resources=[(
'Youtube',
'/static/ckeditor/ckeditor/plugins/youtube/',
'plugin.js',
)],
)
#...
这也是徒劳的。我在 forms.py 中也做了同样的事情,并且由于 settings.py 之外的这两个编辑都没有任何结果,我回到了我之前的配置,只编辑了 settings.py。
我进行了广泛的搜索,发现大多相互矛盾或不完整的信息。那,或者我不知道如何处理这些信息并且做错了一切。
我错过了什么?
【问题讨论】:
-
您的错误只是说找不到 /static/ckeditor/ckeditor/plugins/youtube/plugin.js。所以质疑它是否真的存在?可能不在讨论范围内,但 CKEditor 不需要用 Django Backend 实现,你可以用 html / js 将它添加到你的模板中。
标签: python django youtube ckeditor django-ckeditor