django的view實(shí)現(xiàn)商品列表頁
- 此種方法存在的問題:
- 工作量大,比較容易出錯(cuò)
- 日期字段序列化會(huì)出錯(cuò)
django的serializer序列化model
- serializers也可以完成序列化工作,為啥還要用drf呢臂痕,主要原因:
- image字段返回給前端不友好
- 字段順序固定死了
- 文檔生成不好
- 其他握童。叛赚。。
3-4.apiview實(shí)現(xiàn)
- 添加serializers文件到packages目錄下
- view里面引用serialuzers的class英古,并返回json
- 配置url
- 注意setting里面REST_FRAMEWORK和django版本需要為1.11.6
5.modelserializer實(shí)現(xiàn)
- 引入serializers.ModelSerializer
- 引入model和定義所有字段
- 嵌套引入serializers.ModelSerializer召调,實(shí)現(xiàn)外鍵詳細(xì)信息展示
6.GenericView方式蛮浑,如何改寫views
- 引入mixins沮稚、generics
- 配置django-rest framework相關(guān)配置實(shí)現(xiàn)分頁和簡(jiǎn)化配置蕴掏,以及查詢參數(shù)
7.viewsets和router
- 修改view盛杰,再修改url
8.APiview、GenericView以及ViewSet和Router原理
- GenericViewSet(viewset) ---drf
- GenericAPIView ---drf
- APiview ---drf
- View ---django
- mixin
- CreateModelMixin
- ListModelMixin
- UpdateModelMixin
- RetriewveModelMixin
- DestroyModelMixin
- viewsets將代碼中本應(yīng)該有的綁定放到url中來做
9.drf的requests和response
- 將django的原有變量做了封裝定拟,更加好用
10-11.drf的過濾
- view里面定義get_queryset方法青自,返回符合條件的queryset
- 分頁延窜,搜索雷滚,過濾,排序
12.小結(jié)
- 使用django原生方法返回json字符串
- APIview祈远,Genneview车份,viewset,以及上面結(jié)果結(jié)構(gòu)和原理
- 具體可以參考drf官網(wǎng)api guide