我正在尝试创建一个API库Django在。该API将由javascript调用。Django-API
和javascript在两个不同的服务器上运行。
django API库正在等待javascript前端的自定义请求头。我正在解析这个头从django请求对象。
一切都很好,当我在邮差。但是当我从浏览器尝试这个时,浏览器拒绝了我的自定义请求头。并自动调用OPTIONS
方法。
Previously some cors issue was happening.
And I solved it by adding:
response["Access-Control-Allow-Origin"] = "*"
response["Access-Control-Allow-Headers"] = "*"
Also already implemented:
- django-cors-headers module installed
- corsheaders.middleware.CorsMiddleware middleware installed
- set ALLOWED_HOSTS = ['*'] & CORS_ORIGIN_ALLOW_ALL = True
当前的问题实际上是由于在请求中添加了自定义标头。有人能帮忙吗?我正处在不做就做的情况下。
我尝试了django的各种响应头。它与后端还是前端有关?如何解决这个问题?
您的自定义请求头需要添加到CORS_ALLOW_HEADERS
。
from corsheaders.defaults import default_headers
CORS_ALLOW_HEADERS = list(default_headers) + [
"my-custom-header",
]
请检查此处描述的其他设置:https://pypi.org/project/django-cors-headers/例如CORS_ALLOWED_ORIGINS