前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django-DRF | APIView 视图类

Django-DRF | APIView 视图类

作者头像
小团子
发布2020-01-16 11:10:39
1.1K0
发布2020-01-16 11:10:39
举报
文章被收录于专栏:数据云团数据云团

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

代码语言:javascript
复制
from django.views import View

from rest_framework import views, generics, mixins, viewsets

REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。

一、DRF 框架所有视图类

  • 最基础:django 自带的 views 类
  • DRF 框架最基础的视图类:views.APIView
  • DRF 框架中工具视图:generics
    • GenericAPIView:该视图类中的基类
  • mixins 视图工具集:
    • RetrieveModelMixin:retrieve 单取
    • ListModelMixin:list 群取
    • CreateModelMixin:create 单增
    • UpdateModelMixin:update 单整体修改
    • UpdateModelMixin:partial_update 单局部修改
    • DestroyModelMixin:destroy 单删
  • viewsets 视图集

以上视图都是基于 django 自带的 views 进行相关方法的封装

二、APIView 实现 get post put delete等

继承django自带views的 View,可以处理 request 和 response,可以捕获异常处理,处理响应信息,以及在进行第三 patch() 分发前,可以用户身份验证、权限验证、流量控制。

定义属性:

代码语言:javascript
复制
# 列表或元组,身份认证类
authentication_classes
# 列表或元组,权限检查类
permission_classes 
# 列表或元组,流量控制类
throttle_classes 
代码语言:javascript
复制
from rest_framework.views import APIView
from rest_framework.response import Response
# url(r'^books/$', views.BookListView.as_view()),
class BookListView(APIView):
     def get(self, request):
         # 数据库查询
         books = Book.objects.all()
         # 构建序列化器, 进行序列化操作
         serializer = BookSerializer(books, many=True)
         return Response(serializer.data)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档