Django通过设置CORS解决跨域问题


Posted in Python onNovember 26, 2020

一、Ajax 跨域请求

Ajax 请求一个目标地址为非本域(协议、主机、端口任意一个不同)的 web 资源。

前端
http://192.168.10.50:8080
后端
http://192.168.10.50:8000

Ajax 跨域请求保护的作用:防止跨站的攻击。

二、如何解决跨域的访问

当我们在现实当中有需要跨域访问资源,有两种解决方案:

  • 前端解决:jsonp
  • 后端解决(Django):CORS 专门解决方案

这篇文章主要介绍使用 Django 框架进行开发时的后端解决方案。

三、Django 解决跨域问题

Django 框架中通过 django-cors-headers 这个模块解决。

1. 安装

pip install django-cors-headers

2. 注册应用

注册到 settings 的 INSTALLED_APPS 中。

INSTALLED_APPS = (
 ...
 'corsheaders',
 ...
)

3. 添加到中间件

添加到 settings 的 MIDDLEWARE 中,一般放在 django.middleware.csrf.CsrfViewMiddleware 前面。

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

4. 添加白名单

添加允许访问的白名单,凡是出现在白名单的域名都可以访问后端接口。

# 添加 CORS 配置
# 1. 设置白名单
CORS_ORIGIN_WHITELIST = (
 '127.0.0.1:8080',
 'localhost:8080',
 'http://192.168.10.50:8080', # 凡是出现在白名单中的域名,都可以访问后端接口
)
# 2. 设置 CORS Cookie
CORS_ALLOW_CREDENTIALS = True # 指明在跨域访问中,后端是否支持对cookie的操作

到此这篇关于Django 通过设置CORS解决跨域问题的文章就介绍到这了,更多相关Django  CORS跨域内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python字典操作简明总结
Apr 13 Python
Python实现基于二叉树存储结构的堆排序算法示例
Dec 08 Python
Python Tkinter 简单登录界面的实现
Jun 14 Python
详解Python利用random生成一个列表内的随机数
Aug 21 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
python实现连续变量最优分箱详解--CART算法
Nov 22 Python
python实现图片上添加图片
Nov 26 Python
PyQt5中多线程模块QThread使用方法的实现
Jan 31 Python
Python实现屏幕录制功能的代码
Mar 02 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
Python操作Jira库常用方法解析
Apr 10 Python
解决python对齐错误的方法
Jul 16 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 #Python
python模拟点击在ios中实现的实例讲解
Nov 26 #Python
如何在 Matplotlib 中更改绘图背景的实现
Nov 26 #Python
python 实现超级玛丽游戏
Nov 25 #Python
python 制作简单的音乐播放器
Nov 25 #Python
python中绕过反爬虫的方法总结
Nov 25 #Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 #Python
You might like
PHP 强制下载文件代码
2010/10/24 PHP
php长字符串定义方法
2012/07/12 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
JQquery的一些使用心得分享
2012/08/01 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
Python制作刷网页流量工具
2017/04/23 Python
Django 实现购物车功能的示例代码
2018/10/08 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
社会公德演讲稿
2014/05/20 职场文书
医院节能减排方案
2014/06/13 职场文书
法制宣传标语集锦
2014/06/25 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
邓小平理论心得体会
2014/09/09 职场文书
房屋维修协议书范本
2014/09/25 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
使用jpa之动态插入与修改(重写save)
2021/11/23 Java/Android
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python