首页 > 其他 > 详细

django跨域请求问题

时间:2021-08-08 22:46:44      阅读:19      评论:0      收藏:0      [点我收藏+]

在前后端分离开发时,前后端时不同的端口,这就涉及到跨域访问数据问题,因为浏览器的同源策略,默认是不支持两个不同域名间相互访问数据,而我们需要在两个域名间相互传递数据,这时我们就要为后端添加跨域访问的支持。

1. django-cors-headers扩展

官方文档:https://github.com/adamchainz/django-cors-headers

2. 安装

pip install django-cors-headers

3. 添加应用

INSTALLED_APPS = (
    ...
    ‘corsheaders‘,
    ...
)

4. 配置中间件

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

注意:要在第一行添加

5. 添加白名单

# 跨域请求白名单
CORS_ORIGIN_WHITELIST = (
    ‘http://127.0.0.1:8080‘,
    ‘http://127.0.0.1:8000‘,
)
CORS_ALLOW_CREDENTIALS = True  # 允许携带cookie

  • 凡是出现在白名单中的域名,都可以访问后端接口
  • CORS_ALLOW_CREDENTIALS 指明在跨域访问中,后端是否支持对cookie的操作。

6. 跨域实现流程为

1、浏览器会第一次先发送options请求询问后端是否允许跨域,后端查询白名单中是否有这两个域名

2、如过域名在白名单中则在响应结果中告知浏览器允许跨域

3、浏览器第二次发送post请求,携带用户登录数据到后端,完成登录验证操作

技术分享图片

django跨域请求问题

原文:https://www.cnblogs.com/ziwu2/p/15115900.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!