尝试从暂存服务器上的django ckeditor上载映像时,CSRF验证失败

尝试从暂存服务器上的django ckeditor上载映像时,CSRF验证失败,django,django-admin,csrf,http-status-code-403,django-ckeditor,Django,Django Admin,Csrf,Http Status Code 403,Django Ckeditor,Django ckeditor有一个直接从编辑器插入和上载图像的选项。这在本地/开发机器上有效,但在远程服务器上Django抛出403错误,CSRF验证失败。这发生在管理后端,我没有其他类似的问题。有人知道我做错了什么吗?任何帮助都将不胜感激。谢谢问题仍然悬而未决 最好免除csrf验证。我之所以会出现这个问题,是因为url(r'^sys/cke/',include('ckeditor.url'))在限制较少的模式(即url(r'^',include('cms.url'))之后被包括到urlpa

Django ckeditor有一个直接从编辑器插入和上载图像的选项。这在本地/开发机器上有效,但在远程服务器上Django抛出403错误,CSRF验证失败。这发生在管理后端,我没有其他类似的问题。有人知道我做错了什么吗?任何帮助都将不胜感激。谢谢

问题仍然悬而未决


最好免除csrf验证。

我之所以会出现这个问题,是因为
url(r'^sys/cke/',include('ckeditor.url'))
在限制较少的模式(即
url(r'^',include('cms.url'))之后被包括到urlpatterns中。


因此,当使用反向url解析器为
ckeditor_upload
构建绝对url时,它工作正常,但当url解析器为请求找到合适的视图时,请求不是以@csrf_emption的形式转到ckeditor的视图,而是以第一个匹配的模式进行查看。造成混淆的原因是403禁止的错误消息没有正在执行的视图的跟踪

我不知道你是否已经解决了这个问题,但我也遇到了同样的问题。该问题与django版本有关。因此,您需要将其添加到您的
url.py

if django.VERSION >= (1, 8):
urlpatterns = [
    url(r'^', include('blog.urls', namespace="blog")),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^ckeditor/', include('libs.ckeditor_uploader.urls')),
]
else:
from django.conf.urls import patterns

admin.autodiscover()
urlpatterns = patterns(
    '',
    url(r'^', include('blog.urls', namespace="blog")),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^ckeditor/', include('libs.ckeditor_uploader.urls')),
)

我刚刚在ckeditor中查看了views.py,csrf_decorator已经应用于upload()视图。我误解你的意思了吗?检查你的设置中间件,试着评论你的csrf中间件。