django 解决cors问题
AFei0018-博客
穷则思变,差则思勤。Python技术交流|求职招聘群:551022575
django解决跨域请求的问题
django解决跨域请求的问题
解决方案
1.安装django-cors-headers
pip install django-cors-headers
- 1
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',
)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
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
Tyler_2018-04-18 15:35:44#5楼“我们需要将Ajax调用中的dataType从JSON改为JSONP(相应的API也需要支持JSONP)格式。” 括号里那句话把我从梦中惊醒!!!谢谢您!!
django处理Ajax跨域访问
问题描述在使用javascript进行ajax访问的时候,出现如下错误 出错原因:javascript处于安全考虑,不允许跨域访问. 下图是对跨域访问的解释: (图片是从慕课网上的 “Aja...
ajax跨域设置django-cors-headers
安装 pip install django-cors-headers 然后将其添加到已安装的应用程序中: INSTALLED_APPS =( ... ' corshea...
初入Django5-jsonp实现跨域请求
python-Django-jsonp实现跨域请求 什么叫jsonp?和json有什么关系? json: 一种数据类型 跨语言交流,实现数据共享 jsonp:一种请求方式 跨域请求,脱离浏览器...
CORS(跨域资源共享) 的配置
http://blog.csdn.net/ohyoyo2014/article/details/24863197 兼容情况: 各种新版本的ie10,firefox,op...
Nginx+uwsgi+django 解决Ajax跨域
Django + Nginx + uwsgi 项目使用ajax 外部请求跨域问题: 问题描述: Font from origin 'http://cdn.xxxx.com' has been ...
vscode 编写djangorestapi--解决跨域和权限
新建django项目 django-admin.py startproject my_data #my_data 是项目名 建立app django-admin.py startapp...
【Flask】Flask解决跨域的问题
在Flask开发RESTful后端时,前端请求会遇到跨域的问题。下面是解决方法。Python版本:3.5.1 下载flask_cors包 pip install flask-cors ...
flask 设置headers['Access-Control-Allow-Origin']='*'实现跨域访问
需要flask将数据发送到web前端,定义一个路由,访问该路由获取数据。 res= make_response(json.dumps(result)): 通过make_response封装...
个人分类
归档
热门文章
- Ubuntu16.04下python+PyCharm开发环境的搭建
阅读量:19190
- django解决跨域请求的问题
阅读量:11406
- python实现数据导出到excel--普通格式
阅读量:9563
- 通过Navicat远程连接MySQL配置
阅读量:8938
- Celery+python+redis异步执行定时任务
阅读量:8139
最新评论
- Ubuntu16.04下pytho...
yonghu14587007:下载文件的位置一定要找对
- django解决跨域请求的问题
u012695283:“我们需要将Ajax调用中的dataType从JSON改为JSONP(相应的API也需要支持JSO...
- django 数据序列化的实现
apple9005:[reply]qq_23934063[/reply] 序列化方法里面没有加反查的功能,你可以自己扩...
- django 数据序列化的实现
qq_23934063:通过 Menu 查 Group 应该怎么写
- CENTOS7错误:Cannot ...
qq_37011273:成功解决我的问题,万分感谢!
联系我们

django 解决cors问题的更多相关文章
- django 解决csrf跨域问题
1.中间件代码 [root@linux-node01 mysite]# tree middlewares middlewares ├── base.py ├── base.pyc ├── cors.p ...
- spring boot:解决cors跨域问题的两种方法(spring boot 2.3.2)
一,什么是CORS? 1,CORS(跨域资源共享)(CORS,Cross-origin resource sharing), 它是一个 W3C 标准中浏览器技术的规范, 它允许浏览器向非同一个域的服务 ...
- Django使用cors解决跨域问题
1.安装Django-cors-headers模块 pip install django-cors-headers 2.配置settings.py文件 INSTALLED_APPS = [ ... ' ...
- Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)
一.Django中的缓存: 前戏: 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一 ...
- django之CORS跨域请求
对于想要利用django框架实现前后端分离,首要的问题是解决跨域请求的问题,什么是跨域请求?简单来说就是当前发起的请求的域与该请求指向的资源所在的域不一致.当协议+域名+端口号均相同,那么就是同一个域 ...
- django解决跨域请求的问题
跨域请求可以用jsonp来解决,不过今天我发现一个很好用的包:django-cors-headers 只需要简单地配置一下就可 被请求方的setting.py中的配置如下: INSTALLED_APP ...
- Django解决跨域问题
原理:浏览器的同源策略,其实我们的请求发送过去了,服务器也进行响应了,就是浏览器把响应给阻止响应而已 第一种方法jsonp 因为浏览器不对 <script> 标签里面的src属性进行阻止, ...
- django基于cors做跨域处理
背景知识:跨域相关与cors策略 1.安装django-cors-headers pip install django-cors-headers 2.settings.py配置 INSTALLED_A ...
- Django解决跨域俩方案
方案一:一套干掉全部Primary 首先你的pip下载一个第三方库贼厉害的: pip install corsheaders 然后在项目的setting.py里面引入第三方库,如下: INSTALLE ...
随机推荐
- 【洛谷P1288】取数游戏II
取数游戏II 题目链接 显然,由于一定有一个0,我们可以求出从初始点到0的链的长度 若有一条链长为奇数,则先手可以每次取完一条边上所有的数, 后手只能取另一条边的数,先手必胜: 反之若没有奇数链,后手 ...
- 【luogu P3275 [SCOI2011]糖果】 题解
题目链接:https://www.luogu.org/problemnew/show/P3275 把不等式 A > B 转化成 A - B >= 1或者 B - A <= -1再差分 ...
- Android学习笔记_51_转android 加载大图片防止内存溢出
首先来还原一下堆内存溢出的错误.首先在SD卡上放一张照片,分辨率为(3776 X 2520),大小为3.88MB,是我自己用相机拍的一张照片.应用的布局很简单,一个Button一个ImageView, ...
- 理解Storm可靠性消息
看过一些别人写的, 感觉有些东西没太说清楚,个人主要以源代码跟踪,参考个人理解讲述,有错误请指正. 1基本名词 1.1 Tuple: 消息传递的基本单位.很多文章中介绍都是这么说的, 个人觉得应该更详 ...
- C语言输出格式
1 一般格式 printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c\n",i,ch); 说明: (1)“格式控制”是用双撇号括起来 ...
- SQL Server笔记-语法
1.USE <DatabaseName> //选择数据库 例:USE [master] //master是系统默认数据库 2.字段或表名与保留字或关键字重名时需要加. 3.COMPATIB ...
- Kong Api 初体验
请查看原文: https://www.fangzhipeng.com/nginx/kong/2016/07/11/kong-api-gateway/ Kong是一个可扩展的开源API层(也称为API网 ...
- iOS10 开发权限适配设置 崩溃(上传打包后构建版本一直不显示)
ios10 系统必须强制配置系统权限 如果不配置,调试的时候导致崩溃,还会引发包无效的问题,导致上传打包后构建版本一直不显示 解决方案1.在项目中找到info.plist文件,右键点击以 Source ...
- ionic 安装步骤
安装ionic和cordova 1,需要首先安装好nodejs,然后通过npm来安装 npm install -g cordova ionic 注意:可能遇到的错误:Error: Cannot fi ...
- LeetCode 中级 - 从前序与中序遍历序列构造二叉树(105)
一个前序遍历序列和一个中序遍历序列可以确定一颗唯一的二叉树. 根据前序遍历的特点, 知前序序列(PreSequence)的首个元素(PreSequence[0])为二叉树的根(root), 然后在中 ...