如何在你的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.在settings.py文件中,将corsheaders加入已安装的应用程序部分。
INSTALLED_APPS = [
...
'corsheaders',
...
]
3.在settings.py文件的中间件部分添加corsheaders.middleware.CorsMiddleware。
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可以被托管在其他选定的服务器上的其他应用程序访问。