使用 django-extensions 的“runserver_plus”命令,我对 CSRF 令牌没有任何问题。令牌在登录后的服务器响应中按预期在 cookie 中定义,我使用它在不安全的 HTTP 请求(POST、PUT 等)期间将其发送回 HTTP 标头中的服务器但由于某些原因,我必须不使用不再使用“runserver_plus”并切换回旧版“runserver”命令。因为,我在登录后从服务器获得的 CSRF 令牌不再起作用。我得到了错误CSRF Failed: CSRF token missing or incorrect.
。代码没有其他变化。只需从 runserver_plus 切换到旧版 runserver。
我真的不明白为什么。对我来说这是一个错误。
当然,REST framework 身份验证类是 SessionAuthentication
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
),
}
有人知道吗?