4

我已经将 Django 从 1.7.5 升级到 1.11.15。我也在使用 Django Rest Framework 版本 3.3.2。

在此之后,所有 PUT/POST(也可能是 DELETE)请求都被 403 状态代码和消息拒绝:

{"detail":"CSRF 失败:CSRF cookie 未设置。"}

我在 settings.py 中使用的中间件类是:

MIDDLEWARE_CLASSES = (
                      'django.middleware.common.CommonMiddleware',
                      'django.contrib.sessions.middleware.SessionMiddleware',
                      #'django.middleware.csrf.CsrfViewMiddleware',
                      'django.contrib.auth.middleware.AuthenticationMiddleware',
                      'django.contrib.messages.middleware.MessageMiddleware'
                      )

我注意到如果我启用 'django.middleware.csrf.CsrfViewMiddleware' 中间件类,那么一切正常。但是,由于我不清楚为什么这个类目前被禁用,我想保持原样并寻找另一种解决方法。

在这种情况下会有什么选择?

4

0 回答 0