gpt4 book ai didi

django - 当 nginx 提供 index.html 时从 Django 获取 CSRF token

转载 作者:行者123 更新时间:2023-12-05 08:08:13 25 4
gpt4 key购买 nike

我有一个带有 Django 后端的 React SPA。与大多数 SPA 一样,需要提供一个 index.html 文件。但问题是这个文件是用 nginx 提供的,所以用户没有获得调用 api 所需的 csrf token 。我真的不想提供 index.html,因为它需要将文件与 npm run build 输出的其余部分分开并打破“只需将其放入/static/目录”工作流程,并且也是出于缓存原因。还有其他解决方法吗?

最佳答案

CSRF token 总是随着每次页面加载而更新。它必须由 django 提供服务,因为 django 是提供和验证它的应用程序。将 index.html 文件放在你的 django 模板文件夹中,将它与你的索引 View 一起提供,将 CSRF token 转换为 javascript 代码并在你的 ReactJS 代码中使用它

index.html

...
<body>
<script>
var csrftoken = '{{ csrf_token }}';
</script>
...
</body>
...

关于django - 当 nginx 提供 index.html 时从 Django 获取 CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51419578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com