01-DRF中的request

在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等。

比如,区别于Django中的request从request.GET中获取URL参数,从request.POST中取某些情况下的POST数据。

在APIView中封装的request,就实现了请求数据的解析:

对于GET请求的参数我们通过request.query_params来获取。

对于POST请求、PUT请求的数据我们通过request.data来获取。

REST框架包括一个用于处理ViewSets的抽象,它允许开发人员集中精力对API的状态和交互进行建模,并根据常规约定自动处理URL构造。ViewSet类与View类几乎相同,不同之处在于它们提供诸如read或update之类的操作,而不是get或put等方法处理程序。最后一个ViewSet类只绑定到一组方法处理程序,当它被实例化成一组视图的时候,通常通过使用一个Router类来处理自己定义URL conf的复杂性。

02-序列化

from rest_framework import serializers
from app01 import modelsclass CommentSerializer(serializers.ModelSerializer):class Meta:model = models.Commentfields = "__all__"extra_kwargs = {"content": {"error_messages": {"required": "评论内容不能为空"}},"article": {"error_messages": {"required": "文章不能为空"}}}class SchoolSerializer(serializers.ModelSerializer):class Meta:model = models.Schoolfields = "__all__"

03-视图

class SchoolView(ModelViewSet):queryset = models.School.objects.all()serializer_class = app01_serializers.SchoolSerializer

04-路由

from rest_framework.routers import DefaultRouterrouter = DefaultRouter()
router.register(r'school', views.SchoolView)
urlpatterns += router.urls

05-APIView与View的区别

'''
1. 对 request 进行了重新封装'''

转载于:https://www.cnblogs.com/pgxpython/p/10287889.html

03 Django REST Framework 视图和路由相关推荐

  1. Django Rest Framework 视图和路由

    DRF的视图 APIView 我们django中写CBV的时候继承的是View,rest_framework继承的是APIView,那么他们两个有什么不同呢 urlpatterns = [url(r' ...

  2. Django REST framework 视图

    上一部分代码在序列化部分 类继承顺序 ############### mixins.py ################ # 类中调用的方法均在 GenericAPIView 类中实现,所以下列类需 ...

  3. Django REST framework(十)路由集routers的使用

    Django REST framework(九)-视图集ViewSet.GenericViewSet.ModelViewSet.ReadOnlyModelViewSet_simpleyako的博客-C ...

  4. python Django Rest_Framework框架 视图集与路由Routers详解(图文并茂版)

    视图集与路由Routers详解 视图集 ViewSet视图集 代码实现 GenericViewSet视图集 代码实现 ModelViewSet视图集 ReadOnlyModelViewSet视图集 路 ...

  5. Django REST framework学习笔记

    文章目录 1. API接口开发 1.1 获取数据的接口 1.2 添加数据的接口 1.3 更新数据的接口 1.4 删除数据的接口 2. API字段的定制 2.1 别名字段 2.2 字段格式化 2.3 字 ...

  6. Django REST framework API 指南(2):响应

    Django REST framework API 指南(1):请求 Django REST framework API 指南(2):响应 Django REST framework API 指南(3 ...

  7. Django REST framework 1

    Django REST framework Django REST framework官方文档:点击  中文文档:点击 安装djangorestframework:pip3 install djang ...

  8. django restful 请求_利用 Django REST framework 构建 RESTful Web API

    利用 Django REST framework 构建 RESTful Web API 终于到了动手操作的环节啦,这一节,我们以师生管理系统为例,带领大家搭建一套 framework Web API. ...

  9. 源码剖析Django REST framework的认证方式及自定义认证

    源码剖析Django REST framework的认证方式 由Django的CBV模式流程,可以知道在url匹配完成后,会执行自定义的类中的as_view方法. 如果自定义的类中没有定义as_vie ...

最新文章

  1. 写一个比较全的进制转换函数--ic
  2. 随机从mysql中读取_如何实现MySQL表数据随机读取?从mysql表中读取随机数据
  3. 深度学习与计算机视觉系列(7)_神经网络数据预处理,正则化与损失函数
  4. mysql函数包含的意思_MYSQL函数
  5. Invalid VCS root mapping
  6. Fiori Error message Exception raised without specific error
  7. 当你和你女朋友闹矛盾时......
  8. 【转】云社区 博客 博客详情 二维异形件排版算法介绍(一)
  9. 值对于int32太大或太小怎么解决_数控车床加工螺纹时常见故障及解决方法
  10. OpenShift 4 之Service Mesh教程(3)- 访问流量管理
  11. jdbc面试_JDBC面试问答
  12. 操作教程:摄像头通过GB28181协议注册EasyCVR的详细配置
  13. 阿里云商标注册流程步骤-阿里云商标自助注册申请步骤
  14. springnbsp;contextnbsp;初始化两次导致dub…
  15. Win10 时间与Internet时间同步超时
  16. 计算机毕业设计(80)php小程序毕设作品之视频播放电影小程序系统
  17. RT Preempt Linux简介
  18. php根据公历获得农历,PHP获取阳历或农历的节日函数
  19. 在Ubuntu虚拟机使用ffmpeg采集摄像头的yuv视频数据
  20. java检查html是否闭合,Java Html解析器和闭合标记

热门文章

  1. Android_开源框架_Volley实例
  2. 走进Java 7模块系统
  3. 上拉电阻和下拉电阻_硬件基础:下拉电阻和上拉电阻如何工作
  4. 利用python实现IP扫描
  5. 1032 Sharing
  6. 如何分辨Web前端培训机构的好坏
  7. Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件...
  8. 以太坊代币空投合约的实现
  9. C++:STL标准入门汇总
  10. 查看JDK的历史版本