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调用java的Webservice示例
Mar 10 Python
Python入门之三角函数tan()函数实例详解
Nov 08 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
高效使用Python字典的清单
Apr 04 Python
Python高斯消除矩阵
Jan 02 Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 Python
Python3 io文本及原始流I/O工具用法详解
Mar 23 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
Mar 30 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
Apr 08 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
Jun 23 Python
python入门之算法学习
Apr 22 Python
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
May 21 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
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
js定时器实例分享
2016/12/20 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
基于python log取对数详解
2018/06/08 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
python实现TCP文件传输
2020/03/20 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
应届毕业生求职信范例分享
2013/12/17 职场文书
公司部门司机岗位职责
2014/01/03 职场文书
你的创业计划书怎样才能打动风投
2014/02/06 职场文书
酒店营销策划方案
2014/02/07 职场文书
秋游活动策划方案
2014/02/16 职场文书
应届生自荐信范文
2014/02/21 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
食品安全主题班会
2015/08/13 职场文书