什么是CORS ?

CORS(跨域资源共享,Cross-Origin Resource Sharing)是一种跨域访问的机制,可让Ajax实现跨域访问。

其实,在服务器的response header中,加入“Access-Control-Allow-Origin: *”便可支持CORS,很是的简单,apache/nginx等怎么配置,见参考文档。

django-cors-headers 的作用 ?

将跨源资源共享 (CORS) 标头添加到响应的 Django 应用程序。这允许从其他来源向您的 Django

应用程序发出浏览器内请求。

1. 安装django-cors-headers

pip install django-cors-headers

2. 添加到应用程序中

INSTALLED_APPS  =  [ 
    ... , 
    "corsheaders" , 
    ... , 
]

3. 在中间键中监听响应

CorsMiddleware 需要放在第一位,不放在第一位,可能会造成某些请求没有添加CORS。

MIDDLEWARE  =  [ 
    "corsheaders.middleware.CorsMiddleware" , 
    ... , 
]

4. 设置访问白名单

# CORS_ORIGIN_ALLOW_ALL为True, 指定所有域名(ip)都可以访问后端接口, 默认为False
CORS_ORIGIN_ALLOW_ALL = True

5. 设置允许携带cookie

CORS_ALLOW_CREDENTIALS = True

6. 默认请求头列表。

CORS_ALLOW_HEADERS  =  [ 
    "accept" , 
    "accept-encoding" , 
    "authorization" , 
    "content-type" , 
    "dnt" , 
    "origin" , 
    "user-agent" , 
    "x-csrftoken" , 
    "x-requested-with" , 
]

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐