Django配置跨域并开发测试接口


Posted in Python onNovember 04, 2020

1.跨域原理

1. 首先浏览器安全策略限制js ajax跨域访问服务器

2. 如果服务器返回的头部信息中有当前域:

// 允许 http://localhost:8080 这个网站打开的页面中的js访问我
Access-Control-Allow-Origin: http://localhost:8080
// 允许携带cookie访问我
Access-Control-Allow-Credentials: true

那么, 浏览器可以让js 请求该服务器

Django配置跨域并开发测试接口

2.django cors设置:

1. 安装包
pip install django-cors-headers
2. 注册应用
INSTALLED_APPS = [
...
# 添加 django-cors-headers 使其可以进行 cors 跨域
'corsheaders'
]
3. 添加中间件
MIDDLEWARE = [
# 放在中间件第一个
'corsheaders.middleware.CorsMiddleware',
...
]
4. 设置
# CORS跨域请求白名单设置
CORS_ORIGIN_WHITELIST = (
'http://127.0.0.1:8080',
'http://localhost:8080',
)
CORS_ALLOW_CREDENTIALS = True # 允许携带cookie

3.登录接口测试

3.1 user/usrs.py 中配置路由

urlpatterns = [
path('login/', views.login),
]

3.2 user/views.py 中写一个login视图函数

from django.http import JsonResponse
import json
def login(request):
body_dict = json.loads( request.body )

print(body_dict,8888888)

name = body_dict.get('name')

pwd = body_dict.get('pwd')

if not all([name, pwd]):


resp = {


"code": 1001,


"msg": '信息不全'


}


return JsonResponse(resp)

if name == 'zhangsan' and pwd == '123456':


resp = {



"code": 0,



"msg": '登录成功',



"data": {



"id": 1,



"name": '张三',



"age": 18



}


}


return JsonResponse(resp)

return JsonResponse({


"code": 1002,


"msg": '验证失败'

})

3.3 测试接口

1http://192.168.56.100:8888/user/login/

Django配置跨域并开发测试接口

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中计算三角函数之cos()方法的使用简介
May 15 Python
Python在线运行代码助手
Jul 15 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
深入浅析python with语句简介
Apr 11 Python
python3.5 cv2 获取视频特定帧生成jpg图片
Aug 28 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
Mar 06 Python
pip install 使用国内镜像的方法示例
Apr 03 Python
Python多线程:主线程等待所有子线程结束代码
Apr 25 Python
Django中ORM找出内容不为空的数据实例
May 20 Python
详解Django中的FBV和CBV对比分析
Mar 01 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
Jun 11 Python
Python内置的数据类型及使用方法
Apr 13 Python
Python基于Serializer实现字段验证及序列化
Nov 04 #Python
pycharm使用技巧之自动调整代码格式总结
Nov 04 #Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 #Python
Python实现冒泡排序算法的完整实例
Nov 04 #Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 #Python
基于OpenCV的路面质量检测的实现
Nov 04 #Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 #Python
You might like
php tp验证表单与自动填充函数代码
2012/02/22 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
Javascript 复制数组实现代码
2009/11/26 Javascript
Javascript学习笔记5 类和对象
2010/01/11 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
生成二维码方法汇总
2014/12/26 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
Jquery删除css属性的简单方法
2016/12/04 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
微信小程序 五星评分的实现实例
2017/08/04 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
微信小程序python用户认证的实现
2019/07/29 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
Html5元素及基本语法详解
2016/08/02 HTML / CSS
资深生产主管自我评价
2013/09/22 职场文书
个人自我鉴定写法
2013/11/30 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
小学新教师个人总结
2015/02/05 职场文书
党支部考察意见范文
2015/06/02 职场文书
学校隐患排查制度
2015/08/05 职场文书
《静夜思》教学反思
2016/02/17 职场文书
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android