django ckeditor图像上传

django ckeditor图像上传,django,ckeditor,Django,Ckeditor,我正在我的网站上使用Django ckeditor 我特别喜欢使用 RichTextUploadingField() 在我的模型中。除图像上传外,其他选项也可以正常工作 1.错误消息 我收到了一条关于的错误消息 “服务器响应不正确”,尤其是chrome devtools指出 ckeditor.js:21[ckeditor]错误代码:filetools响应错误 ckeditor.js:21[ckeditor]有关此错误的更多信息,请转到 2.猜测 我尝试过在我的管理页面中使用ckeditor上

我正在我的网站上使用Django ckeditor

我特别喜欢使用

RichTextUploadingField()

在我的模型中。除图像上传外,其他选项也可以正常工作

1.错误消息 我收到了一条关于的错误消息

“服务器响应不正确”,尤其是chrome devtools指出


ckeditor.js:21[ckeditor]错误代码:filetools响应错误

ckeditor.js:21[ckeditor]有关此错误的更多信息,请转到


2.猜测 我尝试过在我的管理页面中使用ckeditor上传图像

作为django中的超级用户,它可以正常工作

但是,作为普通用户帐户登录,我也尝试过同样的方法,但不起作用

所以我猜它有某种授权问题。但我不知道在django ckeditor中从哪里开始调试


我应该检查什么东西?提前感谢。

这是因为默认URL用@staff\u member\u required()修饰。为了避免这种情况,您可以在url.py中使用登录所需的修饰符逐个定义url,而不是像so
url(r'^ckeditor/',include('ckeditor\u uploader.url'))

from django.conf.urls import url
from django.contrib.admin.views.decorators import login_required

from ckeditor_uploader import views

urlpatterns = [
     .....your other urls
    url(r'^ckeditor/upload/', login_requred(views.upload), name='ckeditor_upload'),
    url(r'^ckeditor/browse/', never_cache(login_requred(views.browse)), name='ckeditor_browse'),
]

像这样,您将上传限制为所有登录的用户

如果您以管理员身份登录(localhost:8000/admin),它就可以工作,简单的一点是。

在project url.py中添加以下导入:

from django.contrib.auth.decorators import login_required
from django.views.decorators.cache import never_cache
from ckeditor_uploader import views as ckeditor_views
替换URL.py中的以下行:

path('ckeditor/', include('ckeditor_uploader.urls')),


您是说您不能通过具有员工权限的管理面板或通过前端的表单上传图像?通过具有员工权限(超级用户)的管理面板,我可以上传图像。但是,在前端表单中,我不能。我已将这些添加到我的url,但它不起作用…:特别是在本地环境中,它工作得很好。但是在Web托管Env中,我使用PythOnNoad,它不起作用。有什么特别的事情要考虑更多吗?谢谢您的评论。谢谢您。你提到过。在本地环境中,一切正常。但是,当我部署(到Pythonywhere)时,它不起作用(它会给我一条“服务器响应不正确”的警告消息)。您是如何得到此错误的?当您访问url或尝试上载内容时?此答案非常有用。但对于当前版本的django,您必须以这种方式导入所需的登录名。\u:从django.contrib.auth.decorators导入所需的登录名。\u。同时从django.views.decorators.cache导入永不缓存并记住删除路径('ckeditor/',include('ckeditor_uploader.url')),您在图像上载适用于所有用户之前从ckeditor文档获得的路径。
path('ckeditor/upload/', login_required(ckeditor_views.upload), name='ckeditor_upload'),
path('ckeditor/browse/', never_cache(login_required(ckeditor_views.browse)), name='ckeditor_browse'),