同一域中的多个 Django 站点 - CSRF 失败

Multiple Django sites on the same domain - CSRF fails

我在同一域的不同端口上有两个应用程序 运行,都使用 csrf 中间件。

当我登录其中一个应用程序时,所有 POST 从另一个应用程序提交失败。
我想是因为 SESSION_COOKIE_DOMAIN 是一样的。

我尝试更改 SESSION_COOKIE_NAME,但是,'csrftoken' cookie 在两个站点上的表单 POST 请求中使用,无论现在有一个名为我指定了。

当我 post 使用 AJAX 的信息并使用新名称从 cookie 中获取 csrf 令牌时 - 它有效,但是,表单提交失败,CSRF 验证失败。

CSRF 令牌 cookie 默认命名为 csrftoken,但您可以通过 CSRF_COOKIE_NAME 设置来控制 cookie 名称。 Docs

为每个应用使用不同的 CSRF cookie 名称。