📜  如何在 Django 项目中启用 CORS 标头?

📅  最后修改于: 2022-05-13 01:54:24.548000             🧑  作者: Mango

如何在 Django 项目中启用 CORS 标头?

当站点 A 想要访问来自另一个站点 B 的内容时,称为跨域请求。由于出于安全原因它被禁用,B 在响应中发送一个 Access-Control-Allow-Origin 标头。默认情况下,不允许域访问托管在另一个域上的 API。如果我们希望允许从托管在另一台服务器上的其他应用程序(比如前端)访问我们的 Django 应用程序中托管的 REST API(比如后端),我们必须启用 CORS(跨源资源共享)。

在 Django 项目中允许 CORS 的步骤 –

1. 使用 PIP 安装 django-cors-headers:

pip install django-cors-headers 

2. 将 corsheaders 添加到 settings.py 文件中的已安装应用程序部分:

INSTALLED_APPS = [

   ...

   'corsheaders',

   ...

]

3.将 corsheaders.middleware.CorsMiddleware 添加到 settings.py 文件中的中间件部分:

MIDDLEWARE = [
  'django.middleware.security.SecurityMiddleware',
  ...
  'django.middleware.clickjacking.XFrameOptionsMiddleware',
  'corsheaders.middleware.CorsMiddleware',
]

4. 如果要允许所有域的访问,请在 settings.py 文件中将以下变量设置为 TRUE:

CORS_ORIGIN_ALLOW_ALL = True

或者,您可以通过在 settings.py 文件中执行以下操作来指定要授予访问权限的域:

CORS_ORIGIN_ALLOW_ALL = False
CORS_ORIGIN_WHITELIST = (
  'http://localhost:8000',
)

就这样!现在,托管在其他选定服务器上的其他应用程序可以访问您的 API。