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 测试实现方法
Dec 24 Python
python使用paramiko模块实现ssh远程登陆上传文件并执行
Jan 27 Python
python用字典统计单词或汉字词个数示例
Apr 22 Python
python开发之thread实现布朗运动的方法
Nov 11 Python
Python基础语法(Python基础知识点)
Feb 28 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
Aug 30 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
Python Xml文件添加字节属性的方法
Mar 31 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 Python
在pycharm中设置显示行数的方法
Jan 16 Python
django 通过url实现简单的权限控制的例子
Aug 16 Python
python3 Scrapy爬虫框架ip代理配置的方法
Jan 17 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简单静态页生成过程
2008/03/27 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
JavaScript创建对象的七种方式全面总结
2017/08/21 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
一步步教你利用Docker设置Node.js
2018/11/20 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
Python  pip安装lxml出错的问题解决办法
2017/02/10 Python
Python利用matplotlib生成图片背景及图例透明的效果
2017/04/27 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
奶茶专卖店创业计划书
2014/01/18 职场文书
简单的大学生自我鉴定
2014/02/18 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
会计电算化专业求职信
2014/06/10 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL