如何在我的 Django REST 上调试启用 CORS api
How do I debug enabling CORS on my Django REST api
我正在尝试在简单的 django rest 服务器上启用 CORS。
我已遵循此处的建议 。
具体来说我有:
1) 完成
pip install django-cors-headers
2)
为我安装的应用添加了 corsheaders
3)
在我的 Django 设置文件的 MIDDLEWARE 部分的顶部添加了 corsheaders.middleware.CorsMiddleware
4) 添加
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'localhost:3000/radioDestinations/',
'localhost:8080',
)
但还是不行。
当我向服务器发送请求时(使用 javascript 获取请求)我在浏览器中收到错误消息(...被 CORS 策略阻止:否 'Access-Control-Allow-Origin' header 存在...),但我在服务控制台中没有得到任何输出。
如何找出问题所在?
django-cors-headers
是合理的 fool-proof,你的配置对我来说似乎是正确的。
但是我遇到了一个问题,这可能也是你的问题:
如果您将服务器配置为在不调用 Django / Python 的情况下提供静态文件(很常见,即使在 built-in 服务器上也是如此),django-cors-headers
无法将 CORS header 应用于这些响应.根据浏览器,this will cause problems with asynchronous requests, fonts and sometimes even images, video and audio.
我正在尝试在简单的 django rest 服务器上启用 CORS。
我已遵循此处的建议
具体来说我有:
1) 完成
pip install django-cors-headers
2)
为我安装的应用添加了 corsheaders
3) 在我的 Django 设置文件的 MIDDLEWARE 部分的顶部添加了 corsheaders.middleware.CorsMiddleware
4) 添加
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'localhost:3000/radioDestinations/',
'localhost:8080',
)
但还是不行。
当我向服务器发送请求时(使用 javascript 获取请求)我在浏览器中收到错误消息(...被 CORS 策略阻止:否 'Access-Control-Allow-Origin' header 存在...),但我在服务控制台中没有得到任何输出。
如何找出问题所在?
django-cors-headers
是合理的 fool-proof,你的配置对我来说似乎是正确的。
但是我遇到了一个问题,这可能也是你的问题:
如果您将服务器配置为在不调用 Django / Python 的情况下提供静态文件(很常见,即使在 built-in 服务器上也是如此),django-cors-headers
无法将 CORS header 应用于这些响应.根据浏览器,this will cause problems with asynchronous requests, fonts and sometimes even images, video and audio.