CORS跨域djangosetting.py 配置
Posted zxs117
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CORS跨域djangosetting.py 配置相关的知识,希望对你有一定的参考价值。
1 什么是 CORS?
Cross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好。另一方面,JSONP 可以在不支持 CORS 的老旧浏览器上运作。现代的浏览器都支持 CORS。
如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容
如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.
由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域。具体可以查看下表(来源)
- 要先下载的包 pip install django-cors-headers
INSTALLED_APPS = [
‘corsheaders‘, # 添加一个
]
MIDDLEWARE = [
‘corsheaders.middleware.CorsMiddleware‘, #添加这行
‘django.middleware.common.CommonMiddleware‘,
]
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
#CORS_ORIGIN_WHITELIST = (
# ‘*‘,
#)
CORS_ALLOW_METHODS = (
‘DELETE‘,
‘GET‘,
‘OPTIONS‘,
‘PATCH‘,
‘POST‘,
‘PUT‘,
‘VIEW‘,
)
CORS_ALLOW_HEADERS = (
‘XMLHttpRequest‘,
‘X_FILENAME‘,
‘accept-encoding‘,
‘authorization‘,
‘content-type‘,
‘dnt‘,
‘origin‘,
‘user-agent‘,
‘x-csrftoken‘,
‘x-requested-with‘,
‘Pragma‘,
)
以上是关于CORS跨域djangosetting.py 配置的主要内容,如果未能解决你的问题,请参考以下文章
System.Web.Http.Cors配置跨域访问的两种方式