django解决跨域请求的问题详解
作者:AFei0018 时间:2021-07-21 14:45:45
解决方案
1.安装django-cors-headers
pip 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://blog.csdn.net/apple9005/article/details/54427902
标签:django,跨域请求
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
JavaScript 组件之旅(四):测试 JavaScript 组件
2009-10-13 20:32:00
![](https://img.aspxhome.com/file/UploadPic/200910/13/smart-queue-test-41s.png)
关于Python中的main方法教程
2021-12-30 08:31:37
react+django清除浏览器缓存的几种方法小结
2022-10-05 03:07:45
PHP实现的MD5结合RSA签名算法实例
2023-11-08 05:03:00
python爬取音频下载的示例代码
2023-07-25 09:59:57
![](https://img.aspxhome.com/file/2023/1/61711_0s.png)
PHP中让json_encode不自动转义斜杠“/”的方法
2023-07-12 22:44:58
Python读取图片EXIF信息类库介绍和使用实例
2023-05-27 00:49:47
Design IT. (3),看不懂数据
2009-02-11 10:56:00
兼容主流浏览器的【表情插入】源码
2010-07-02 13:02:00
![](https://img.aspxhome.com/file/UploadPic/20107/2/loveliness-32s.gif)
利用Python的Django框架中的ORM建立查询API
2023-11-15 10:06:03
js加密页面代码生成器
2007-10-12 13:40:00
python使用numpy读取、保存txt数据的实例
2021-04-05 22:38:49
![](https://img.aspxhome.com/file/2023/0/72950_0s.jpg)
一个sql查询器,自动画表格填字段
2011-04-10 10:58:00
利用php+mcDropdown实现文件路径可在下拉框选择
2023-09-11 15:18:02
css去掉checkbox边框的方法
2011-06-06 10:32:00
JS通过FSO将unicode字符写入文本
2009-06-01 12:26:00
ASP + XML + JavaScript 实现动态无限级联动菜单
2008-06-13 06:31:00
使用access数据库时可能用到的数据转换
2008-09-10 12:49:00
sqlserver中如何查询出连续日期记录的代码
2011-09-30 11:16:56
简单介绍Python中的len()函数的使用
2022-08-19 16:27:02