Django中的跨域解决办法 基于后端的跨域解决方案

1 何为跨域

在浏览器中,只要发送请求的URL的协议、域名、端口号这三者中的任意一个与当前页面地址的协议、域名、端口号不同,则称之为跨域。当发生这种情况时,浏览器的同源策略会报异常并拒绝访问。而前后端分离的开发,前端和后端由不同的开发,所以前后端应用可能不会使用同一个协议、域名、端口号。那么这时候就需要在后端做一些配置,使URL能够跨域正常访问。


2 Django中的跨域解决办法

  1. 安装django-cors-headers
pip install django-cors-headers
  1. 设置全局配置文件
  • 项目全局配置文件settings.py中,注册corsetheaders应用:
INSTALLED_APPS = [...,'corsheaders'
]
  • 设置中间件MIDDLEWARE:
MIDDLEWARE = ['coreheaders.middleware.CorsMiddleware','django.middleware.common.CommonMiddleware',...
]

其中,coreheaders.middleware.CorsMiddleware,中间件需要放置在首位

  • 继续添加Cookie的配置项
CORS_ALLOW_CREDENTIALS = True   # 允许跨域时携带cookie
CORS_ORIGIN_ALLOW_ALL = True  # 指定所有域名都可以访问后端接口

上述配置完成,从前端访问后端接口就不会有跨域提示了。

Django中的跨域解决办法 基于后端的跨域解决方案相关推荐

  1. javascript同源策略和跨域实验及其跨域解决办法

    一.问题提出: 从应用A跳转到应用B,用户在应用B上操作完毕后,关闭页面,是否可以用程序自动刷新应用A窗口,以让用户观察操作效果.如支付宝充值,跳转到各银行界面进行充值,充值完毕后,支付宝页面相关自动 ...

  2. linux eclipse乱码,Eclipse项目中乱码问题的解决办法

    一.产生的原因: 1.Http协议进行通信的时候是基于请求和响应的,传输的内容我们称之为报文! 2.Http协议会按照一定的规则将报文编码,然后在读取的时候再使用响应的解码格式进行解码! 3.这个一定 ...

  3. jquery html5视频播放插件在iframe中无法全屏解决办法

    jquery html5视频播放插件在iframe中无法全屏解决办法 在IFrame中加入 allowfullscreen="true" allowtransparency=&qu ...

  4. 异常“只能在执行Render()的过程中调用RegisterForEventValidation”的解决办法(转)...

    当出现下面的异常的时候: 只能在执行Render()的过程中调用RegisterForEventValidation 当出现的异常的提示: 异常详细信息: System.InvalidOperatio ...

  5. 因为返回有true ajax提示进入错误,jquery ajax中error返回错误解决办法

    转自:https://www.jb51.net/article/72198.htm 进入百度搜索此问题,发现有人这么说了一句 Jquery中的Ajax的async默认是true(异步请求),如果想一个 ...

  6. Nginx解决前端调用后端接口跨域问题

    Nginx解决前端调用后端接口跨域问题 参考文章: (1)Nginx解决前端调用后端接口跨域问题 (2)https://www.cnblogs.com/wangymd/p/11200746.html ...

  7. C#界面设计--5--Bitmap.save保存图片时: GDI+ 中发生一般性错误 解决办法

    Bitmap.save保存图片时: GDI+ 中发生一般性错误 解决办法 源程序: var date = DateTime.Now.ToString("yyyy-MM-dd");/ ...

  8. 关于matlab中help无法使用的解决办法(点开后是空白)

    关于matlab中help无法使用的解决办法(点开后是空白) 点击matlab"主页",在上面一排图标中找到"预设" 在出现的页面中最左边一栏点击"帮 ...

  9. 小程序textarea在ios中内边距的解决办法

    小程序textarea在ios中内边距的解决办法 官方文档上面有一个 disable-default-padding 属性去除在ios上面的内边距

最新文章

  1. AAAI 2020 | 时间可以是二维的吗?基于二维时间图的视频内容片段检测
  2. db2 某个字段排序_db2 中文排序 按拼音排序(utf-8编码)
  3. C Primer Plus 第6章 C控制语句 6.16 编程练习及答案
  4. mysql , java length
  5. MATLAB实战系列(三十八)-基于K-means聚类算法的MATLAB图像分割
  6. 协议关键技术_北京理工大学与华为签署战略合作协议
  7. django权限管理
  8. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1039:判断数正负
  9. php+错误+处理,PHP 错误处理手记!!!!!
  10. java http 双向认证_HttpsURLConnection使用,并实现双向认证
  11. marker 头像 高德地图_高德地图上线马丽导航语音
  12. opengl 关于glGenBuffers函数没有定义
  13. 128道软件测试面试题,面试及答案,视频讲解
  14. 北卡罗来纳州立大学计算机科学,NCSU的CS「北卡罗来纳州立大学罗利分校计算机科学系」...
  15. 利用笔记本电脑给只能访问内网linux服务器共享网络,使其也能访问外网
  16. Unity3D仿电影字幕
  17. Latex各种箭号符号,以及在箭头上方添加字母等符号的方法
  18. 联想台式机重装系统方法总结
  19. 论架构师的自我修养--8荣
  20. 2019.1.21【NOIP提高组】模拟B组 JZOJ 4210 我才不是萝莉控呢

热门文章

  1. 白话中台战略2:中台到底长啥样?
  2. 时间序列预测-入门概念
  3. Android 小数点前后字体大小不一致,EditText限制小数点前后位数的实例
  4. win7怎么修改服务器端口,教你在Win7中如何轻松修改3389远程桌面端口
  5. 计算机专业英语中tour的意思,tour旅游 (英语小记)
  6. string复制部分内容
  7. 哪些seo搜索技巧你不会用?
  8. 基于知识图谱的智能问答
  9. 逆地理编码-离线版-part2
  10. java 条形码校验_Java 之 商品条形码的验证