drf基本使用方法
Django REST Framework 框架
自己写REST接口太复杂,因为规范很多,Django拥有丰富的插件,有一个关于REST的插件,使用起来比较方便。文档:https://www.django-rest-framework.org/
(一)安装DRF框架
1、安装
pip install djangorestframework
注意:进入自己的虚拟环境
1、注册app
(二)基本使用
DRF中的序列化类可以进行数据格式的转换,例如将Python中的字典转换成JSON数据格式。
1、 创建Serializer类
在应用当中创建serializers文件用来编写序列化类
需要继承 ModelSerializer或HyperlinkedModelSerializer,后者会生成url路由。
Serializer内部类Meta属性解释:
(1)model:对应的model类
(2)fields:model类要序列化的属性 “__all__” 表示所有属性
(3)depth:关联对象序列化的深度,默认只序列化关联对象的id,设置为1后序列化关联对象所有filelds属性。
2、创建视图
3、路由指出
4、访问
5、简单的分页
接口直接返回所有数据是不合适的,并且数据量太大的时候容易发生问题,所以可以使用分页来解决这个问题。DRF提供了快速的分页策略,只需要在settings当中进行配置就可以了。
(三)视图类
1、继承APIView类
APIView 对Django中的django.views.View类进行了进一步封装,功能更加强大。
路由
2、使用mixins类
使用REST框架的mixins类,可以提高代码的重用率。
路由:
3、通用视图类
使用mixin类,我们重写了视图,使用的代码比以前略少,但我们可以更进一步。REST框架提供了一组已经混合的通用视图,我们可以使用它来进一步减少我们的views.py模块。
路由:
4、viewSet视图和路由器
viewSet视图类是对通用视图类的进一步封装。
路由:
使用DRF路由器代替Django路由