drf学习第四天
- 今天咱们说一下视图
-
- 先创建个应用
-
- 这次我们使用drf自带的response
- 访问接口
- query_params打印的是一个空,为什么啊,因为我们没有携带任何的查询参数,我们在url上写上一些试试
- 多选参数
- 在浏览器上访问一下,返回的是一个接口视图,这是drf给我们提供的,因为它里面有一个方法,如果是浏览器访问我就给你返回视图,如果不是通过浏览器访问我就给你返回纯json数据,也可以通过/?format=json返回纯json数据
- 接下来写post请求
- 刚才get请求是获取所有数据,现在设置获取单条数据
- 更新数据
- 删除记录
- GenericApiView的视图接口
- 也可以用get_object()方法,自动传参pk
- self.get_serializer_class(),当一个视图使用多个序列化器类时使用
- 我们再写一个序列化器,让它只校验两个字段
- 有人说GenericApiView用起来怎么还麻烦了呢,那是因为要配合视图扩展类来写
- 接下来基于视图扩展类来写视图接口
- 获取单条记录
- 更新一条数据
- 删除一条数据
- 接下来我们基于视图子类来写视图接口
- put是更新整条记录,patch是更新部分记录
- 基于视图集基类来写视图接口
- 添加数据
- 更新记录和删除记录
- 接下来我们整合一下
- self.get_queryset()获取queryset数据
- self.get_object()获取模型类对象
- self.get_serializer()获取序列化器
- 终极方法写视图接口,继承ModelViewSet
- 改写路由
- 视图里添加路径,detail=False就是处理多条数据,detail=True就是处理单条数据,不过方法里要加参数pk
今天咱们说一下视图
先创建个应用
这次我们使用drf自带的response
访问接口
query_params打印的是一个空,为什么啊,因为我们没有携带任何的查询参数,我们在url上写上一些试试
多选参数