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中的MySQLdb模块添加超时功能的教程
May 05 Python
利用python画一颗心的方法示例
Jan 31 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
将tensorflow的ckpt模型存储为npy的实例
Jul 09 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
python3实现zabbix告警推送钉钉的示例
Feb 20 Python
Python之NumPy(axis=0 与axis=1)区分详解
May 27 Python
Python连接SQLite数据库并进行增册改查操作方法详解
Feb 18 Python
python实现将range()函数生成的数字存储在一个列表中
Apr 02 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
如何在VSCode下使用Jupyter的教程详解
Jul 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
linux iconv方法的使用
2011/10/01 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
JavaScript中创建对象的模式汇总
2016/04/19 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
autojs 蚂蚁森林能量自动拾取即给指定好友浇水的实现方法
2020/05/03 Javascript
js实现列表按字母排序
2020/08/11 Javascript
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
Python实现12306火车票抢票系统
2019/07/04 Python
Python turtle库绘制菱形的3种方式小结
2019/11/23 Python
python打包多类型文件的操作方法
2020/09/21 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
业务主管岗位职责范本
2013/12/25 职场文书
写好自荐信的几个要点
2013/12/26 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python
python迷宫问题深度优先遍历实例
2021/06/20 Python