解决方案

1.安装django-cors-headers

pip3 install django-cors-headers

2.配置settings.py文件

INSTALLED_APPS = [...'corsheaders',...] MIDDLEWARE_CLASSES = (...'corsheaders.middleware.CorsMiddleware','django.middleware.common.CommonMiddleware', # 注意顺序
    ...
)
#跨域增加忽略
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = ('*'
)CORS_ALLOW_METHODS = ('DELETE','GET','OPTIONS','PATCH','POST','PUT','VIEW',
)CORS_ALLOW_HEADERS = ('XMLHttpRequest','X_FILENAME','accept-encoding','authorization','content-type','dnt','origin','user-agent','x-csrftoken','x-requested-with','Pragma',
)

OK!问题解决!

其他解决方案

另外还从网上看到其他两种解决方案,但都不太合适。在此列出,供大家参考

1.使用JSONP

使用Ajax获取json数据时,存在跨域的限制。不过,在Web页面上调用js的script脚本文件时却不受跨域的影响,JSONP就是利用这个来实现跨域的传输。因此,我们需要将Ajax调用中的dataType从JSON改为JSONP(相应的API也需要支持JSONP)格式。 
JSONP只能用于GET请求。

2.直接修改Django中的views.py文件

修改views.py中对应API的实现函数,允许其他域通过Ajax请求数据: 
def myview(_request): 
response = HttpResponse(json.dumps({“key”: “value”, “key2”: “value”})) 
response[“Access-Control-Allow-Origin”] = “*” 
response[“Access-Control-Allow-Methods”] = “POST, GET, OPTIONS” 
response[“Access-Control-Max-Age”] = “1000” 
response[“Access-Control-Allow-Headers”] = “*” 
return response

转载于:https://www.cnblogs.com/yzxing/p/9440191.html

Python django解决跨域请求的问题相关推荐

  1. django允许跨域请求配置

    2019独角兽企业重金招聘Python工程师标准>>> django允许跨域请求配置 下载corsheader pip install django-cors-headers 修改s ...

  2. Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题...

    webservice 代码 1 /// <summary> 2 /// MESService 的摘要说明 3 /// </summary> 4 [WebService(Name ...

  3. django 允许跨域请求

    django允许跨域请求配置 下载corsheader pip install django-cors-headers 修改setting.py中配置 在INSTALLED_APPS中增加corshe ...

  4. 利用Access-Control-Allow-Origin响应头解决跨域请求

    标签:cors 跨域请求 ACAO 2015-11-28 18:53 12103人阅读 评论(0) 收藏 举报  分类: web前端(5)  J2EE服务器(2)  传统的跨域请求没有好的解决方案,无 ...

  5. django解决跨域问题

    什么是跨域? 跨域:指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制 同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域 ...

  6. Web笔记-使用jsonp解决跨域请求(CROS)问题

    目录 基本概念 代码与实例 基本概念 当我在某web站点,这个站点里面发出了像其他站点的请求(不同链接,或者同一链接的不同端口),是会失败的,因为是浏览器的安全检测问题,当然,这个只是主流浏览器的功能 ...

  7. 使用YQL解决跨域请求json转jsonp问题

    一.跨域报错 首先,是跨域请求的问题,jQuery默认不支持跨域请求,报错如下: index.html:1 XMLHttpRequest cannot load http://www.weather. ...

  8. ng配置解决跨域请求

    问题概述 前端h5请求后端服务,两者的域名不同,报出这样的错误 No 'Access-Control-Allow-Origin' header is present on the requested ...

  9. 解决跨域请求的四种方法

    跨域 跨域就是请求的url中的"协议"."域名"."端口号"其中任何一种不一样都是属于跨域.解决跨域的主要的四种方法是jsonp.跨域资源共 ...

最新文章

  1. 皮一皮:年轻人真会玩...
  2. Android Studio 受不了了
  3. SVN服务器从Windows迁移到Linux
  4. 程序员面试题精选100题(38)-输出1到最大的N位数[算法]
  5. 腾讯数平团队 荣获第15届国际文档分析与识别竞赛七项冠军
  6. Linux 环境下搭建 Jenkins(Hudson)平台
  7. bootstrap 居中 表格中_使用Twitter Bootstrap在表格单元格中垂直居中
  8. html中两个图片叠放,CSS实现图片叠放(勾选图标)
  9. excel不显示0_【周一实用技巧】绝密,保护公式不被修改。Excel单元格保护可以输入但不能修改公式,隐藏不显示公式内容...
  10. 【python】字符串的操作与方法、元组的定义与操作
  11. iOS 本地推送以及自定义推送声音
  12. 查看前端页面请求的文件地址_前端性能优化方法
  13. CDRX6启动失败 提示尝试重新启动计算机和应用程序的解决方法
  14. linux查看存储类型及型号,linux怎么看内存型号
  15. Ubuntu 如何搭建可视化界面?
  16. elementUI表格自动刷新
  17. 网卡限速工具之WonderShaper
  18. 一个永久免费的图片鉴黄api接口
  19. springwebmvc的入门案例
  20. 剃掉多余的_剔掉多余的阅读理解与答案

热门文章

  1. 不要被约束的意思_不要再奢望你会变得自律了丨“他律”比“自律”更重要
  2. linux 进程与锁,linux 中的进程与锁
  3. Php流式 大文件,如何使用PHP解析XML大文件
  4. 华润置地php面试题_从一流到顶流|2020华润置地与沈阳一起美好
  5. java线程“生产/消费”模型2
  6. setmonth_日期setMonth()方法以及JavaScript中的示例
  7. 周五怎么表示 mysql_完美起航-MySQL找每个月最后一个星期五--函数定义与使用
  8. 铃木uy125摩托车机油_济南铃木安徽发布国四新车—6480元瑞梦125、9380元UY125
  9. 周易Java_周易API接口_免费数据接口 - 极速数据
  10. php实现视频转gif,在Linux上将视频转换成动态gif图片