一.引子
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接口设计规范
--接口设计规范
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
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
-返回数据规范
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
开始使用序列化
导入模块: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)