嗯,你知道什么?我想通了。
问题是——而且,正如django-ckeditor 文档明确指出的那样,默认的urlpattern 条目(在include 文件中)为上传指定了一个“仅限员工”的装饰器。所以,ckeditor 收到了错误消息响应,当然它不知道该怎么做。
解决问题:
首先,当然,确保ckeditor_uploader(以及ckeditor)已安装在您的系统上,并且在settings.py 的INSTALLED_APPS 列表中。
现在,在您的urls.py 中,首先在顶部附近添加这一行:
from ckeditor_uploader import views as uploader_views
接下来,插入您在包的urls.py 文件中找到的urlpattern 条目,但引用uploader_viewsalias,即:
url(r'^ckeditor/upload/',
uploader_views.upload, name='ckeditor_upload'),
url(r'^ckeditor/browse/',
never_cache(uploader_views.browse), name='ckeditor_browse'),
如果您错误地尝试在url() 条目中指定ckeditor_uploader.views.,您将获得以下奖励:
NameError: name 'ckeditor_uploader' is not defined
现在你知道了! :-)
另外,不要忘记 Machina 文档告诉您要记住的内容:;-)
MACHINA_MARKUP_WIDGET = 'ckeditor_uploader.widgets.CKEditorUploadingWidget'
如果您正在执行“拖放”,则必须执行“文件上传”,因此您必须使用提供的字段类型或(等效地...)提供的小部件来自ckeditor_uploader 应用程序。