Django-rest Framework(六)
不懂使用机制的直接看源码就好了,也不是很难,能够看得懂
视图家族
1. View:将请求方式与视图类的同名方法建立映射,完成请求响应(原生django)
from django.views import View
2. APIView(rest_framework)
from rest_framework.views import View
- 继承View ,具有View的所有功能
- 重写as_views禁用csrf认证
- 重写了dispatch:请求 响应 渲染 异常 解析 三大认证
- 多了一堆类属性,可以完成视图类的局部配置
3. GenricAPIView
from rest_framework.generics import GenericAPIView
- 继承APIView的所有功能
- 三个方法: get_object() get_queryset() get_serializer()
- 三个属性: queryset serializer_class lookup_urk_kwarg
4. mixins包:
from rest_framework import mixins
from rest_framework.mixins import CreateModelMixin,UpdateModelMixin,RetrieveModelMixin,ListModelMixin,DestroyModelMixin
- 五大工具类 : RetrieveModelMixin , ListModelMixin, CreateModelMixin, UpdateModelMixin, DestroyModelMixin
- 六大工具方法: retrieve, list, create, update, partial_update, destroy
5. generics包
from rest_framework import generics
- 一堆mixins工具类与GenericAPIView视图基类组合
6. ModelViewSet
视图集,继承了mixins所有的类 和 GenericAPIView所有的方法
使用:
#在view.py中
from rest_framework.viewsets import ModelViewSet
class CarAPIView(ModelViewSet):
queryset = models.car.objects.all()
serializer_class = Serializers.CarSerializer
#在urls.py中(这里的car只是用来做例子)
urlpatterns = [ #以什么方式请求,就要在字典中,写上请求方式和请求的函数
url(r'^car/$',views.CarAPIView.as_view({'get':'list','post':'create'})),
url(r'^car/(?P<pk>\d+)',views.CarAPIView.as_view({'get':'retrieve','put':'update','patch':'partial_update'}))
]
Django-rest Framework(六)的更多相关文章
- Django Rest Framework源码剖析(六)-----序列化(serializers)
一.简介 django rest framework 中的序列化组件,可以说是其核心组件,也是我们平时使用最多的组件,它不仅仅有序列化功能,更提供了数据验证的功能(与django中的form类似). ...
- Django REST framework+Vue 打造生鲜超市(一)
一.项目介绍 1.1.掌握的技术 Vue + Django Rest Framework 前后端分离技术 彻底玩转restful api 开发流程 Django Rest Framework 的功能实 ...
- Django REST framework+Vue 打造生鲜超市(三)
四.xadmin后台管理 4.1.xadmin添加富文本插件 (1)xadmin/plugins文件夹下新建文件ueditor.py 代码如下: # xadmin/plugins/ueditor.py ...
- Django REST framework+Vue 打造生鲜超市(四)
五.商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django res ...
- Django REST framework+Vue 打造生鲜超市(五)
六.商品类别数据展示 6.1. 商品类别数据接口 (1)商品分类有两个接口: 一种是全部分类:一级二级三级 一种是某一类的分类以及商品详细信息: 开始写商品分类的接口 (2)序列化 给分类添加三级分类 ...
- Django REST framework+Vue 打造生鲜超市(十二)
十三.首页.商品数量.缓存和限速功能开发 13.1.轮播图接口实现 首先把pycharm环境改成本地的,vue中local_host也改成本地 (1)goods/serializer class B ...
- Django rest framework源码分析(1)----认证
目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...
- RESTful API学习Day2 - Django REST framework
Django REST framework 参考文档: 官方文档:官方文档 中文文档:中文文档 一.是什么? 基于Django开发RESTful API的一个框架 为什么要用它? 补充: CBV的 ...
- Django Rest framework 之 序列化
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- Django Rest framework 之 解析器
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
随机推荐
- https://stackoverflow.com/与程序相关的IT技术问答网站
https://stackoverflow.com/ Stack Overflow是一个与程序相关的IT技术问答网站.用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HT ...
- LTE基本架构
1.LTE结构 这是一张非常有名的LTE架构图,从图中可以看出,整个网络构架被分为了四个部分: (1)UE就可以看作是我们的手机终端 (2)PDN可以看作是网络上的服务器 (3)E-UTRAN可以看 ...
- 17.splash_case06_ScrapySplashTest-master
taobao.py # -*- coding: utf-8 -*- from scrapy import Spider, Request from urllib.parse import quote ...
- 求教各路大神,Fillder的证书一直无法在手机上打开,请教怎么解决
我跟足大神们的设置,软件是Fiddler4,手机是ios12.3.1. FD上该打勾的打勾了,该装证书的也装了,有帖子说重装证书和软件我也都试过,电脑也下了NET Framework 4.7_4.7. ...
- Spark如何读写hive
原文引自:http://blog.csdn.net/zongzhiyuan/article/details/78076842 hive数据表建立可以在hive上建立,或者使用hiveContext.s ...
- Shuffle过程详解
- thml粘连布局
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- [JZOJ4639] 【NOIP2016提高组A组7.16】Angel Beats!
题目 描述 题目大意 给你一棵树,每次询问两个点,求出这两个点的子树的重心到其中每个点的距离和. 重心的定义是到其中每个点距离和最小的点(不一定在两棵子树内) 思考历程 想想以前我是怎么求重心的呢-- ...
- 0810NOIP模拟测试赛后总结
明日之后将是什么. 悲哀, 还是希望? 60分我没脸了…… 所以T1好不容易想到了正解结果实现打挂w0了…… 贪心想的还是相当完美的. 不知道我咋想的开了1e6个栈然后dfs模拟结果MLE原地自爆…… ...
- Django之深入了解ORM
目录 Django ORM操作 常用字段 常用字段参数 自定义字段 单表操作 双下划线查询 模糊查询 多表操作 一对多字段数据的操作 多对多字段数据的操作 跨表查询 基于对象的跨表查询 基于双下划线的 ...