Django跨域问题(CORS错误)

时间:2025-03-09 20:14:13

Django跨域问题(CORS错误)

一.出现跨域问题(cors错误)的原因

通常情况下,A网页访问B服务器资源时,不满足以下三个条件其一就是跨域访问

  • 协议不同
  • 端口不同
  • 主机不同
二.Django解决跨域

1.安装django-cors-headers模块

pip3 install django-cors-headers

2.注册AAP

  1. INSTALLED_APPS = [
  2. ...
  3. 'corsheaders'
  4. ]

3.添加中间件

  1. MIDDLEWARE = [
  2. ...
  3. ''
  4. ]
三.跨域设置

中配置

1.允许所有来源访问

CORS_ORIGIN_ALLOW_ALL = True

2.允许部分来源访问

CORS_ORIGIN_ALLOW_ALL = False

CORS_ORIGIN_WHITELIST = [
'' #允许访问的来源]

设置指定来源注意点:

  • 来源必须标明:ip,端口,协议,而且ip,协议,端口一一对应才能获取
  • 当中的127.0.0.1与localhost代表的不是同一个
    • 比如说你选了http://127.0.0.1:1000 你发起请求时http://localhost:1000 数据就没法获得