Django跨域问题(CORS错误)

Django跨域问题(CORS错误)

一.出现跨域问题(cors错误)的缘由

一般状况下,A网页访问B服务器资源时,不知足如下三个条件其一就是跨域访问python

  • 协议不一样
  • 端口不一样
  • 主机不一样

二.Django解决跨域

1.安装django-cors-headers模块django

pip3 install django-cors-headers跨域

2.注册AAP服务器

INSTALLED_APPS = [
    ...
    'corsheaders'
]

3.添加中间件cors

MIDDLEWARE = [
    ...
    'corsheaders.middleware.CorsMiddleware'
]

三.跨域设置

settings.py中配置code

1.容许全部来源访问中间件

CORS_ORIGIN_ALLOW_ALL = Trueip

2.容许部分来源访问资源

CORS_ORIGIN_ALLOW_ALL = Falseget

CORS_ORIGIN_WHITELIST = [
'http://example.com' #容许访问的来源]

设置指定来源注意点:

  • 来源必须标明:ip,端口,协议,并且ip,协议,端口一一对应才能获取
  • 当中的127.0.0.1与localhost表明的不是同一个
    • 好比说你选了http://127.0.0.1:1000 你发起请求时http://localhost:1000 数据就无法得到
相关文章
相关标签/搜索