03 Django REST Framework 视图和路由
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 视图和路由相关推荐
- Django Rest Framework 视图和路由
DRF的视图 APIView 我们django中写CBV的时候继承的是View,rest_framework继承的是APIView,那么他们两个有什么不同呢 urlpatterns = [url(r' ...
- Django REST framework 视图
上一部分代码在序列化部分 类继承顺序 ############### mixins.py ################ # 类中调用的方法均在 GenericAPIView 类中实现,所以下列类需 ...
- Django REST framework(十)路由集routers的使用
Django REST framework(九)-视图集ViewSet.GenericViewSet.ModelViewSet.ReadOnlyModelViewSet_simpleyako的博客-C ...
- python Django Rest_Framework框架 视图集与路由Routers详解(图文并茂版)
视图集与路由Routers详解 视图集 ViewSet视图集 代码实现 GenericViewSet视图集 代码实现 ModelViewSet视图集 ReadOnlyModelViewSet视图集 路 ...
- Django REST framework学习笔记
文章目录 1. API接口开发 1.1 获取数据的接口 1.2 添加数据的接口 1.3 更新数据的接口 1.4 删除数据的接口 2. API字段的定制 2.1 别名字段 2.2 字段格式化 2.3 字 ...
- Django REST framework API 指南(2):响应
Django REST framework API 指南(1):请求 Django REST framework API 指南(2):响应 Django REST framework API 指南(3 ...
- Django REST framework 1
Django REST framework Django REST framework官方文档:点击 中文文档:点击 安装djangorestframework:pip3 install djang ...
- django restful 请求_利用 Django REST framework 构建 RESTful Web API
利用 Django REST framework 构建 RESTful Web API 终于到了动手操作的环节啦,这一节,我们以师生管理系统为例,带领大家搭建一套 framework Web API. ...
- 源码剖析Django REST framework的认证方式及自定义认证
源码剖析Django REST framework的认证方式 由Django的CBV模式流程,可以知道在url匹配完成后,会执行自定义的类中的as_view方法. 如果自定义的类中没有定义as_vie ...
最新文章
- 写一个比较全的进制转换函数--ic
- 随机从mysql中读取_如何实现MySQL表数据随机读取?从mysql表中读取随机数据
- 深度学习与计算机视觉系列(7)_神经网络数据预处理,正则化与损失函数
- mysql函数包含的意思_MYSQL函数
- Invalid VCS root mapping
- Fiori Error message Exception raised without specific error
- 当你和你女朋友闹矛盾时......
- 【转】云社区 博客 博客详情 二维异形件排版算法介绍(一)
- 值对于int32太大或太小怎么解决_数控车床加工螺纹时常见故障及解决方法
- OpenShift 4 之Service Mesh教程(3)- 访问流量管理
- jdbc面试_JDBC面试问答
- 操作教程:摄像头通过GB28181协议注册EasyCVR的详细配置
- 阿里云商标注册流程步骤-阿里云商标自助注册申请步骤
- springnbsp;contextnbsp;初始化两次导致dub…
- Win10 时间与Internet时间同步超时
- 计算机毕业设计(80)php小程序毕设作品之视频播放电影小程序系统
- RT Preempt Linux简介
- php根据公历获得农历,PHP获取阳历或农历的节日函数
- 在Ubuntu虚拟机使用ffmpeg采集摄像头的yuv视频数据
- java检查html是否闭合,Java Html解析器和闭合标记