我试图让CKEditor插件,代码,工作在django管理,但无法。如果我没有在我的CKEditor中定义任何CKEDIT_CONFIGS,那么CKEDIT_CONFIGS就能工作。如果去掉"extraPlugins“行(它将成功地调整CKEDITOR_CONFIGS部分中定义的高度和宽度),它也能工作。
我使用下面的说明安装了CKEditor:https://github.com/shaunsephton/django-ckeditor
CKeditor位于/静态/ckeditor中,codesnippet位于/静态/ckeditor/plugins/中。
在我的settings.py里
CKEDITOR_UPLOAD_PATH = 'uploads/'
CKEDITOR_JQUERY_URL = '/static/js/jquery-2.1.1.min.js'
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'Full',
'height': 400,
'width': 900,
'removePlugins': 'stylesheetparser',
'extraPlugins': 'codesnippet',
},
}我的admin.py
from django.contrib import admin
from blog.models import Article, Category
from django.utils import text
from django import forms
from ckeditor.widgets import CKEditorWidget
class ArticleAdminForm(forms.ModelForm):
body = forms.CharField(widget=CKEditorWidget())
class Meta:
model = Article我也尝试使用仅仅‘插件’而不是'extraPlugins‘(虽然这没有恢复),但是得到了相同的结果(即它破坏了CKEditor,并且这个字段在管理中根本不显示)。
提前感谢您的帮助!
编辑11/26/14
好的,这仍然不起作用。我很确定问题是这个(来自nginx错误日志)
2014/11/26 14:07:20 [error] 3265#0: *1 open() "/srv/www/mysite/static//ckeditor/ckeditor/plugins/codesnippet/plugin.js" failed该路径不正确(错误的双黑斜杠和额外的"ckeditor“目录)。
我的settings.py现在看起来像这样。
CKEDITOR_UPLOAD_PATH = 'uploads/'
CKEDITOR_JQUERY_URL = '/static/js/jquery-2.1.1.min.js'
CKEDITOR_CONFIGS = {
'default': {
'toolbar':[ ['CodeSnippet', ], ],
'height': 400,
'width': 900,
'removePlugins': 'stylesheetparser',
'extraPlugins': 'codesnippet',
},
}额外的插件行是什么导致了nginx错误,我不知道它是从哪里得到的路径。
下面是更多可能有帮助的信息。
这是我的完整admin.py文件
from django.contrib import admin
from blog.models import Article, Category
from django.utils import text
from django import forms
from django.db import models
from ckeditor.widgets import CKEditorWidget
class ArticleAdminForm(forms.ModelForm):
body = forms.CharField(widget=CKEditorWidget())
class Meta:
model = Article
class ArticleAdmin(admin.ModelAdmin):
form = ArticleAdminForm
admin.site.register(Article, ArticleAdmin)
admin.site.register(Category)我已将以下行复制到我的ckedit.js文件中,并拖动插件文件夹中的适当文件夹。
config.extraPlugins = 'dialog';
config.extraPlugins = 'widget';
config.extraPlugins = 'dialogui';
config.extraPlugins = 'lineutils';
config.extraPlugins = 'clipboard';
config.extraPlugins = 'codesnippet';
config.toolbar_Full.push(['codesnippet']);编辑12/1/14
Nginx配置文件(根据请求)
server {
listen 8080;
server_name mysite.com;
access_log /srv/www/mysite/logs/access-dev.log;
error_log /srv/www/mysite/logs/error-dev.log;
charset utf-8;
#Django admin css
location /static/admin {
alias /srv/www/mysite/static/admin;
}
#Django static files
location /static {
alias /srv/www/mysite/static/;
}
#Django media files
location /media {
alias /srv/www/mysite/media/;
}
#Uwsgi handles all other requests
location / {
auth_basic "Restricted";
auth_basic_user_file /srv/www/mysite/.nginxpwd;
uwsgi_pass unix:/var/uwsgi/uwsgi_at-dev.sock;
include uwsgi_params;
}
}编辑12/3/14
完整的nginx错误:
2014/11/26 14:36:16 [error] 3461#0: *1 open() "/srv/www/mysite/static//ckeditor/ckeditor/plugins/codesnippet/plugin.js" failed (2: No such file or directory), client: 71.235.164.91, server: 104.131.36.141,, request: "GET /static/ckeditor/ckeditor/plugins/codesnippet/plugin.js?t=E7KD HTTP/1.1", host: "mysite:8080", referrer: "http://mysite:8080/admin/blog/article/3/"在我的settings.py里
MEDIA_ROOT = '/srv/www/mysite/media/'
MEDIA_URL = '/media/'
STATIC_ROOT = '/srv/www/mysite/static'
STATIC_URL = '/static/'
CKEDITOR_UPLOAD_PATH = 'uploads/'
CKEDITOR_JQUERY_URL = '/static/js/jquery-2.1.1.min.js'发布于 2014-11-26 11:47:33
代码段插件有各种依赖项,每个依赖项都有子依赖项,即:
我必须至少在ckeditor/plugins路径中添加代码段、Widget和Line Utils才能使其工作,并使用下面的设置将按钮显示在工具栏中。
CKEDITOR_CONFIGS = {
'default': {
'toolbar':[ ['CodeSnippet', ], ],
'height': 400,
'width': 900,
'removePlugins': 'stylesheetparser',
'extraPlugins': 'codesnippet',
},
}因此,一旦您所有的插件依赖关系都安装好了,它就能工作了。
发布于 2014-12-22 03:00:48
我和同样的问题斗争了好几天,我想我找到了解决这个问题的办法。
正如您也注意到的,它尝试读取这个"static/ckeditor/ckeditor/plugins/codesnippet/plugin.js“javascript,但它无法找到它,即使您已经将插件放在"YOUR_PROJECT_DIR/static/ckeditor/ckeditor/plugins".文件夹中。原因是django-ckeditor不是在项目目录中搜索静态目录,而是在site-packages中自己的路径中搜索自己的静态目录。因此,您可以执行以下操作以解决问题。
P.S.:
发布于 2014-12-12 13:14:01
我与此斗争了很久,试图手动安装插件和依赖项。
最后,我用CKEditor生成器打包了我想要的所有插件,并把它放到了STATICFILES_DIRS中的ckeditor目录中。/静态/ckeditor/ckeditor/plugins& .js等
我在https://github.com/django-blog-zinnia/zinnia-wysiwyg-ckeditor中使用https://github.com/django-blog-zinnia/zinnia-wysiwyg-ckeditor,所以我的设置看起来.
CKEDITOR_UPLOAD_PATH = 'uploads'
CKEDITOR_IMAGE_BACKEND = 'pillow'
CKEDITOR_CONFIGS = {
'zinnia-content': {
'toolbar': 'Zinnia',
"extraPlugins":'codesnippet',
"codeSnippet_theme": "monokai_sublime",
'skin': 'moono-dark',
'toolbar_Zinnia': [
['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord'],
['Undo', 'Redo'],
['Scayt'],
['Link', 'Unlink', 'Anchor'],
['Image', 'Table', 'HorizontalRule', 'SpecialChar'],
['Source'],
['Maximize', 'Resize'],
'/',
['Bold', 'Italic', 'Underline', 'Strike',
'Subscript', 'Superscript', '-', 'RemoveFormat'],
['NumberedList', 'BulletedList', '-',
'Outdent', 'Indent', '-', 'Blockquote'],
['Styles', 'Format'],['CodeSnippet'],
'/',
['Smiley', 'About', 'Preview', 'Templates' ],
],
},
}所以希望,如果没有Zinnia,你的设定会像.
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'Full',
"extraPlugins":'codesnippet',
"codeSnippet_theme": "monokai_sublime",
'skin': 'moono-dark',
},
}https://stackoverflow.com/questions/26949506
复制相似问题