前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Django-DRF | ViewSet

Django-DRF | ViewSet

作者头像
小团子
发布于 2020-01-16 03:17:03
发布于 2020-01-16 03:17:03
52200
代码可运行
举报
文章被收录于专栏:数据云团数据云团
运行总次数:0
代码可运行

Django REST框架构建Web API。Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from rest_framework import viewsets
一、使用视图集 ViewSet,可以将一系列逻辑相关的动作放到一个类中:

list() 提供一组数据

retrieve() 提供单个数据

create() 创建数据

update() 更新保存数据

destory() 删除数据

二、ViewSet 视图集类不再实现get()、post()等方法,而是实现动作 action,如 list() 、create() 等。

视图集只在使用as_view()方法的时候,才会将action动作与具体请求方式对应上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class BookViewSet(viewsets.ViewSet):
        def list(self, request):
            ...
        def retrieve(self, request, pk=None):

设置路由

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
urlpatterns = [
    url(r'^books/$', BookViewSet.as_view({'get':'list'}),
    url(r'^books/(?P<pk>\d+)/$', BookViewSet.as_view({'get': 'retrieve'}),
]

三、action 属性

在视图集中, 可以通过 action 对象属性来获取当前请求视图集的action的动作是谁

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def get_serializer_class(self):
     if self.action == 'create':
         return BookCreateSerializer
     else:
         return BookListSerializer
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【愚公系列】2022年04月 Python教学课程 70-DRF框架之视图集
ViewSet视图集类不再实现get()、post()等方法,而是实现动作 action 如 list() 、create() 等。
愚公搬代码
2022/04/19
1.6K0
【愚公系列】2022年04月 Python教学课程 70-DRF框架之视图集
drf之请求、响应、视图
drf 传入视图的request 不再是Django默认的HttpRequest对象,而是drf 提供的拓展了HttpRequest 类的Request 类的对象。
仙人技术
2020/07/09
2.2K0
drf之请求、响应、视图
DRF 视图组件
先来看看这其中的人情世故:两个视图基本类,五个扩展类,九个视图子类,视图集方法,视图集··
HammerZe
2022/05/09
9720
DRF 视图组件
DRF视图集
我们在三级视图中,由于获取所有数据和获取一条数据都是使用GET请求,而二级视图(三级视图)只允许有一个get方法,因此我们在两个类中进行了设计,并且这样刚好将路由分开。而视图集则提供了新的路由和方法集合,来使我们将路由整合起来,方法整合起来。
zy010101
2021/12/17
9620
DRF视图集
Django rest Framework入门 四 :视图
在Django rest Framework入门 二 :DRF框架初体验中其实已经使用了视图了(book.views里面的代码),而且就是实际开发中最常用的模式,但是那是经过DRF框架高度封装的,代码的可读性不好,而且如果不了解里面的细节,当以后遇到需要定制化的工作时可能就无从下手,这一篇笔记会记录一些我自己认为比较重要切常用的实现细节。
panzhixiang
2024/10/30
1490
DRF框架(九)——视图集ViewSet,ModelViewSet,将增删改查写到一个类里面,viewsetmixin (注意路由设置)
ViewSet,只要继承了这个,就实现了增删改查,但是要重写查询全部和详情。 最主要的就是路由的书写
一写代码就开心
2021/03/02
1.9K0
Django rest-framework视图家族
总结:GenericAPIView就是在APIView基础上额外提供了三个方法和三个类属性,如果不配合视图工具类,则体现不出来优势所在
GH
2020/01/14
7890
drf框架中所有视图及用法
from rest_framework import views, generics, mixins, viewsets
小小咸鱼YwY
2019/09/12
1.9K0
RESTful源码笔记之RESTful Framework的APIview, Viewset总结分析
官方文档:http://www.django-rest-framework.org/ drf为我们提供强大的通用view的功能,本博客对这些view进行简要的总结分析。 首先,我们看一下主要的几种view以及他们之间的关系。
Jetpropelledsnake21
2018/08/10
1.1K0
RESTful源码笔记之RESTful Framework的APIview, Viewset总结分析
DRF框架(十一)——路由解读。action注解的声明有什么作用
用以上的方法写路由,只能是view里面继承了试图集之后才可以使用,并且只是生成默认的增删改查的接口。如果是新增加的其他的动作的方法,是不能自动生成路由的,那么如果处理新增加的动作呢?
一写代码就开心
2021/03/02
9810
DRF终极封装ViewSet和Router附教程PDF源码
在DRF官方教程的学习过程中,一个很明显的感受是框架在不断地进行封装,我们自己写框架/工具/脚本/平台也可以模仿模仿,先完成底层代码,再做多层封装,让使用者很容易就上手操作。本文是教程的最后一篇,介绍ViewSets和Routers。
dongfanger
2020/12/23
8810
DRF终极封装ViewSet和Router附教程PDF源码
测试开发进阶(二十九)
rest_framework.generics.ListCreateAPIView
zx钟
2019/10/24
6770
Django REST Framework-路由器(一)
Django REST Framework(以下简称DRF)是基于Django框架构建的Web API框架。在DRF中,路由器(Router)是一个非常有用的工具,可以帮助我们轻松地定义API的路由,实现快速、可维护的API开发。
玖叁叁
2023/04/25
7650
DRF框架学习(四)
重写 get_serializer_class和get_queryset,根据不同的操作返回不同的序列化器类和不同的查询集。
小闫同学啊
2019/07/18
2.9K0
Python进阶41-drf框架(三)
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
5750
Python进阶41-drf框架(三)
django rest framework通用view
官方文档:http://www.django-rest-framework.org/ drf为我们提供强大的通用view的功能,本博客对这些view进行简要的总结分析。 首先,我们看一下主要的几种view以及他们之间的关系。
程序员同行者
2018/12/12
1.1K0
Django REST 框架详解 06 | 视图家族 Generics 与 Viewsets
工具视图都是 GenericAPIView 的子类,不同的子类继承不同工具类,重写请求方法。
白墨石
2021/01/12
1.3K0
Django REST framework+Vue 打造生鲜超市(四)
五、商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django rest framework的view 利用Django的view实现返回json数据 # goods/view_base.py from django.views.generic import View from goods.models import Goods class GoodsListView(Vie
zhang_derek
2018/04/11
4.9K0
Django REST framework+Vue 打造生鲜超市(四)
第 7 篇:文章详情的 API 接口
一旦我们使用了视图集,并实现了 HTTP 请求对应的 action 方法(对应规则的说明见 使用视图集简化代码),将其在路由器中注册后,django-restframework 自动会自动为我们生成对应的 API 接口。
HelloGitHub
2021/05/14
1.1K0
DjangoRESTframework(补充)
版权声明:Copyright © https://blog.csdn.net/zzw19951261/article/details/80995504
zhengzongwei
2019/07/31
2.3K0
相关推荐
【愚公系列】2022年04月 Python教学课程 70-DRF框架之视图集
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验