码迷,mamicode.com
首页 > 其他好文 > 详细

CORS跨域djangosetting.py 配置

时间:2019-07-02 14:41:52      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:rev   term   nim   resource   color   list   图片   smi   red   

1 什么是 CORS?

Cross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好。另一方面,JSONP 可以在不支持 CORS 的老旧浏览器上运作。现代的浏览器都支持 CORS。

2 什么是跨域

如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容
如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.

由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域。具体可以查看下表(来源)

技术图片

settings.py配置

  • 要先下载的包 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 配置

标签:rev   term   nim   resource   color   list   图片   smi   red   

原文地址:https://www.cnblogs.com/zxs117/p/11120455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!