Django设置跨域

本文主要记录,我是如何使用django-cors-headers来解决跨域请求问题的

一下载django-cors-headers并在django中进行设置

1下载django-cors-headers

pip install django-cors-headers

2在setting.py中设置

#加入需要跨域请求的url,'*'为所有网页都可访问。
ALLOWED_HOSTS = ['*']

INSTALLED_APPS = [
    ...
    #跨域请求
    'corsheaders',
]
MIDDLEWARE = [
     #中间件设置
    'corsheaders.middleware.CorsMiddleware',
     ...
]

CORS_ALLOW_CREDENTIALS = True
#设置为允许所有网页跨域请求
CORS_ORIGIN_ALLOW_ALL = True
#设置允许跨域请求的网页
CORS_ORIGIN_WHITELIST = (
    '127.0.0.1:8080',#3.0以下的cors不需要加http
    'http://127.0.0.1:8080',#3.0以上的cors要加http
)

#设置请求方法
CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
    'VIEW',
)
#设置请求协议
CORS_ALLOW_HEADERS = (
    'XMLHttpRequest',
    'X_FILENAME'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DjangoDjango REST Framework (DRF)是一对非常强大的web开发工具。当我们使用DRF开发API的时候,通常会遇到跨域问题。 跨域问题是由于浏览器的同源策略所引起的。同源策略限制了在不同来源(域、协议或端口)之间的网络通信。例如,当我们的前端代码(JavaScript)运行在一个域名为example.com的网站上,但是API的服务器运行在另一个不同的域名api.example.com上。这时候浏览器会阻止前端代码向不同域名的服务器发送请求,从而导致跨域问题。 解决跨域问题有多种方法。以下是一种使用DRF-CORS-HEADERS库解决跨域的方法: 1. 安装DRF-CORS-HEADERS库:在你的Django项目中安装DRF-CORS-HEADERS库,可以通过pip install django-cors-headers命令安装。 2. 配置django-cors-headers:在Django项目的settings.py文件中进行配置,将'django-cors-headers'添加到INSTALLED_APPS列表中,并将CORS_ORIGIN_ALLOW_ALL设置为True。 3. 运行跨域的服务器:在你的Django项目中运行服务器,确保API可以被访问。 4. 测试跨域:使用浏览器访问你的前端代码,尝试与API进行通信。此时,你应该可以成功发送跨域请求。 使用DRF-CORS-HEADERS库可以轻松解决跨域问题,并且允许你更细粒度地控制跨域请求。当然,除了DRF-CORS-HEADERS,还有其他方法可以用来解决跨域问题,例如使用代理服务器或在API服务器上进行配置。选择合适的方法取决于你的具体需求和项目情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值