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 相关文章推荐
分享6个隐藏的python功能
Dec 07 Python
TensorFlow损失函数专题详解
Apr 26 Python
Python实现的堆排序算法示例
Apr 29 Python
windows下安装Python的XlsxWriter模块方法
May 03 Python
使用Python更换外网IP的方法
Jul 09 Python
python如何删除文件中重复的字段
Jul 16 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
浅谈matplotlib.pyplot与axes的关系
Mar 06 Python
django在开发中取消外键约束的实现
May 20 Python
Python基础教程之输入输出和运算符
Jul 26 Python
Python中22个万用公式的小结
Jul 21 Python
python之基数排序的实现
Jul 26 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高效率写法(详解原因)
2013/06/20 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
图片完美缩放
2006/09/07 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
python3 map函数和filter函数详解
2019/08/26 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
战友聚会主持词
2014/04/02 职场文书
生产车间标语
2014/06/11 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
求职自我评价范文
2015/03/09 职场文书
2015年中秋寄语
2015/07/31 职场文书
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript
SQL Server中的游标介绍
2022/05/20 SQL Server