在不使用 CORS 或 CSRF 令牌的情况下设置 React/DRF
Setup React/DRF without using CORS or CSRF tokens
我在 YouTube 上看到了一个很棒的教程,其中使用 DRF 手动设置了 React。在整个教程中,根本没有使用 csrf 令牌和 django-cors-headers。我正在尝试使用 npx create-react-app 实现相同的目的,但是 csrf 令牌和 cors 成为这样做的问题。我如何使用我的 drf/react 应用程序来避免 CSRF 和 CORS!
在上面的视频中,应用程序使用相同的主机名(未实现跨源请求 - 因此您不需要任何 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')
我在 YouTube 上看到了一个很棒的教程,其中使用 DRF 手动设置了 React。在整个教程中,根本没有使用 csrf 令牌和 django-cors-headers。我正在尝试使用 npx create-react-app 实现相同的目的,但是 csrf 令牌和 cors 成为这样做的问题。我如何使用我的 drf/react 应用程序来避免 CSRF 和 CORS!
在上面的视频中,应用程序使用相同的主机名(未实现跨源请求 - 因此您不需要任何 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')