代码之家  ›  专栏  ›  技术社区  ›  RomaValcer

nginix服务index.html时从django获取csrf令牌

  •  1
  • RomaValcer  · 技术社区  · 6 年前

    我有一个带Django后台的React SPA像大多数spa一样,需要提供index.html文件但问题是这个文件是由nginx提供的,因此用户无法获得进行api调用所需的csrf令牌我不想提供index.html,因为它需要将文件与 npm run build 输出并中断“justputtitsin/static/directory”工作流,这也是出于缓存的原因。还有别的办法吗?

    1 回复  |  直到 6 年前
        1
  •  -1
  •   Dmitrii G.    6 年前

    CSRF令牌总是随着每次页面加载而更新。它必须由django提供,因为django是提供并验证它的应用程序将index.html文件放在django templates文件夹中,与index视图一起提供,将CSRF令牌转换为javascript代码,并在ReactJS代码中使用它

    index.html索引

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