微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在不使用 CORS 或 CSRF 令牌的情况下设置 React/DRF

如何解决在不使用 CORS 或 CSRF 令牌的情况下设置 React/DRF

我在 YouTube 上看到了一个很棒的教程,其中使用 DRF 手动设置了 react。在整个教程中,根本没有使用 csrf 令牌和 django-cors-headers。我正在尝试使用 npx create-react-app 实现相同的目标,但是 csrf 令牌和 cors 以这种方式成为问题。我如何使用我的 drf/react 应用程序避免 CSRF 和 CORS!

这是教程: https://www.youtube.com/watch?v=6c2NqDyxppU&t=1s

解决方法

在上面的视频中,应用程序使用相同的主机名(没有实现跨源请求 - 所以你不需要任何 CORS)而且它是单页应用程序。并将您的 Django 应用 URL ('/') 路由到 index.html。 React 将使用 Django 静态文件和 index.html 路由。和所有其他 URL 路由都使用 react push 方法(这里我们在 react 页面中使用 REST API 端点 - 因此您不需要任何 CSRF 令牌)。

通常它适用于中小型项目。但是当您扩展应用程序(例如在云存储桶中存储静态文件)时,您可能会头疼。 Docker 镜像将帮助您进行生产。

,

如果你真的需要忽略它: (它是 on django site

此装饰器将视图标记为不受中间件确保的保护。示例:

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def my_view(request):
    return HttpResponse('Hello world')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。