要解决本地React应用指向托管的Django服务器时出现CORS错误,没有'Access-Control-Allow-Origin'头的问题,可以使用Django的CORS扩展来处理跨域请求。
以下是解决方法的代码示例:
pip install django-cors-headers
# settings.py
INSTALLED_APPS = [
...
'corsheaders',
...
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
# settings.py
CORS_ORIGIN_ALLOW_ALL = True
或者,可以指定允许的域,如下所示:
# settings.py
CORS_ORIGIN_WHITELIST = [
'http://localhost:3000', # 允许访问的域
'http://example.com',
...
]
这样,当React应用指向托管的Django服务器时,就应该不再出现CORS错误,并且会包含正确的'Access-Control-Allow-Origin'头。