我有一个带有Django后端的React SPA。与大多数SPA一样,需要提供index.html文件。但问题是这个文件是使用nginx服务的,所以用户没有获得进行api调用所需的csrf令牌。我真的不想提供静态服务,因为它需要将文件从npm run build
输出的其余部分中分离出来,并打破“只将其放入/ index.html /目录”的工作流,同时也出于缓存的原因。是否有其他解决方法?
发布于 2018-07-19 22:55:29
CSRF令牌总是随着每次页面加载而更新。它必须由django提供服务,因为django是提供和验证它的应用程序。将index.html文件放在django templates文件夹中,将其与索引视图一起使用,将CSRF标记转换为javascript代码并在ReactJS代码中使用它
index.html
...
<body>
<script>
var csrftoken = '{{ csrf_token }}';
</script>
...
</body>
...
https://stackoverflow.com/questions/51419578
复制相似问题