DRF各类View视图区别详解

本文详细介绍了DRF(Django Rest Framework)中的视图类,包括Django原生的View、基于Django的APIView以及继承自APIView的GenericAPIView。APIView重写了请求处理方法并支持权限、认证、频率控制等特性。GenericAPIView提供了工具方法和ViewSetMixin,允许通过actions参数绑定请求方式与方法,并可配合各种Mixin实现CRUD操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DRF的View视图,继承自Django的 View,内部实现了 APIViewViewSetMixin两大类。同时在此基础上进行了扩展,实现了一些通用(Generic)类,混入(Mixin)类等额外功能类,帮助我们用更少的代码实现restful风格的API接口。

下面对我们各类视图做一些说明。

View:

  • 目录:django/views/generic/base.py

  • Django原生,请求通过路由之后进入的地方

  • 实现了as_view()方法,内部调用dispatch方法转发请求到视图内部的方法。例如默认的 GET请求转发到get方法
  • 限定允许的请求方式
  • 响应options类型请求的方法

APIView

  • 目录:rest_framework/views.py
  • DRF 继承自 Django的 View
  • 重写了as_view方法,内部调用自己实现的dispatch initial_request
    • initialize_request内使用Request类,实现了对request的封装,例如我们用到的request.query_params request.data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值