drf
一.引子
1.什么是编程呢?
---数据结构和算法的结合;
2.什么是rest呢?
总结来说一句话:url用来唯一定位资源,http请求方式来区分用户行为;
3.getattr,hasattr,setattr动态的对对象的属性进行操作;
4.self的定位:永远指向调用者;
5.http请求数据的编码协议,用来告诉服务端如何解码数据;
6.form enctype:urlencode(&&连接),multi-formdata,text/plain;
7.Javascript里面object和json之间的转换,object-->json(Json.stringify),json-->object(Json.parse)
二.接口设计
1.rest接口设计规范
--接口设计规范
1 2 3 4 5 | GET 127.0.0.1:8000/books/ #获取所有数据 GET 127.0.0.1:8000/books/{id}/ #获取单条数据 POST 127.0.0.1:8000/books/ #添加一条数据 DELETE 127.0.0.1:8000/books/{id}/ #删除一条数据 PUT 127.0.0.1:8000/books/{id}/ #修改一条数据 |
view.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class BookView(View): def get( self ,request): pass def post( self ,request): pass class BookSingleView(View): def get( self ,request,nid): pass def delete( self ,request,nid): pass def put( self ,request,nid): pass |
-返回数据规范
1 2 3 4 5 | GET 127.0 . 0.1 : 8000 / books / #获取所有数据 [{},{},{},{}] GET 127.0 . 0.1 : 8000 / books / { id } / #获取单条数据 {} POST 127.0 . 0.1 : 8000 / books / #添加一条数据 {}(新增的数据) DELETE 127.0 . 0.1 : 8000 / books / { id } / #删除一条数据 返回空 PUT 127.0 . 0.1 : 8000 / books / { id } / #修改一条数据 {}(更新后的数据) |
2.序列化组件的使用及接口设计
--get接口
2.1 创建models.py
2.2 urls.py
2.3 views.py
开始使用序列化
1 2 3 4 5 6 7 8 9 10 | 导入模块: from rest_framework import serializers 建立一个序列化类 class BookSerializer(serializers.Serializer): 字段可以自定义 获取queryset origin_data = Book.objects. all () 开始序列化 serialized_data = BookSerializer(orgigin_data,many = True ) 获取序列化后的数据,返回给客户端 return Response(serialized_data.data) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步