AI-视图组件-五个接口的最终简化版
五个接口最终版
#url.py
# 序列化最贱版本
url(r'^customer/$', views.CustomerView.as_view({"get":"list","post":"create"})),
url(r'^customer/(?P<pk>\d+)', views.CustomerView.as_view({"get":"retrieve","put":"update","delete":"destroy"})),
views.py
from rest_framework.serializers import ModelSerializer
class CustomerSerializer(serializers.ModelSerializer):
class Meta:
model=Customer
# field=["name","gender"]
fields="__all__" from rest_framework.viewsets import ModelViewSet
class CustomerView(ModelViewSet): #将五个数据接口全部封装在了ModelViewSet
queryset = Customer.objects.all()
serializer_class = CustomerSerializer
五个接口最终版源码解析
#url(r'^authors/(?P<pk>\d+)/', views.AuthorsView.as_view({"get":"retrieve","delete":"destroy","put":"update"})),
#url(r'^authors/$', ViewSetMixin.as_view({"get":"retrieve","delete":"destroy","put":"update"})),
#url(r'^authors/$', ViewSetMixin.view),
一旦用户访问,get访问authors/1:
ViewSetMixin.view(reqeust):
for method, action in actions.items(): # {"get":"retrieve","delete":"destroy","put":"update"}
handler = getattr(self, action) # handler===self.retrieve handler=== destroy handler===update
setattr(self, method, handler) # self.get=self.retrieve self.delete=self.destroy self.put=self.update
return self.dispatch(request, *args, **kwargs)
#
APIView.dispatch(request):
handler = getattr(self, request.method.lower()) # self.retrieve
response = handler(request, *args, **kwargs)
# def retrieve(self.request):
` # return .....
return response
AI-视图组件-五个接口的最终简化版的更多相关文章
- django rest framework 解析器组件 接口设计,视图组件 (2)
1. 使用视图组件进行接口优化 1.1 使用视图组件的mixin进行接口逻辑优化 - 导入mixin from rest_framework.mixinx import ( ListModelMix, ...
- 序列化多表操作、请求与响应、视图组件(子类与拓展类)、继承GenericAPIView类重写接口
今日内容概要 序列化多表操作 请求与相应 视图组件 内容详细 1.序列化多表操作 模型类 models.py中 # 新建django项目 # 创建表 模型类models.py中: from djang ...
- django rest framework 解析器组件 接口设计,视图组件 (1)
一.解析器组件 -解析器组件是用来解析用户请求数据的(application/json), content-type 将客户端发来的json数据进行解析 -必须适应APIView -request.d ...
- DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer
DjangoRestFramework学习二之序列化组件.视图组件 本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...
- 用 php 实现一个视图组件和模板引擎——基础
只要不是做后端接口开发和一些作为守护进程之类的服务器脚本,大多数时候都是在和浏览器打交道,因此合理组织并展现 html 标签是最为常见的工作.一般大家使用框架时,都会自带有一套视图组件和模板引擎. 我 ...
- DRF之视图组件
不断的优化我们写的程序,是每个程序员必备的技能和职业素养,也是帮助我们成长的非常重要的手段. 使用serializer进行put接口设计 根据规范,PUT接口用来定义用户对数据修改的逻辑,也就是upd ...
- 19.DjangoRestFramework学习二之序列化组件、视图组件
一 序列化组件 首先按照restful规范咱们创建一些api接口,按照下面这些形式写吧: Courses --- GET ---> 查看数据----->返回所有数据列表[{},{},] C ...
- DjangoRestFramework学习二之序列化组件、视图组件
本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组件 首先按照restful规范咱们创建一些api接口,按照下面这些形式写吧: ...
- day 88 DjangoRestFramework学习二之序列化组件、视图组件
DjangoRestFramework学习二之序列化组件.视图组件 本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组件 ...
随机推荐
- 解码base64加密的图片并打印到前台
经过base64加密的图片对象是一串字符串,我们解码后可通过流将其打印出来: utils类: package com.aebiz.app.web.modules.controllers.open.ap ...
- vue 学习笔记—Resource
1.首先是引入 或者用npm来安装 cnpm i vue-resource --save(推荐) 3.提供的api 关于请求写法: get(){ // get请求 this.$http.get( ...
- Thymeleaf在前台下拉列表获取后台传的值
Thymeleaf在前台下拉列表获取后台传的值 后台添加代码: /** * 新增机构 */ @GetMapping("/add") public String add(ModelM ...
- pythonのscrapy抓取网站数据
(1)安装Scrapy环境 步骤请参考:https://blog.csdn.net/c406495762/article/details/60156205 需要注意的是,安装的时候需要根据自己的pyt ...
- roslaunch & gdb 调试指南(待补充)
1. 安装xterm sudo apt-get install xterm 2. 在launch文件中添加如下内容: <node name="navigation" pkg= ...
- 《Debug Hacks》和调试技巧【转】
转自:https://blog.csdn.net/sdulibh/article/details/46462529 Debug Hacks 作者为吉冈弘隆.大和一洋.大岩尚宏.安部东洋.吉田俊辅,有中 ...
- Flask请求流程超清大图
补充一下 request是在哪里产生的: class RequestContext(object): # app就是flask对象 self.app = app if request is None: ...
- SharePoint 2013 错误 0x800700DF 文件大小超出允许的限制,无法保存
问题描述: 利用资源管理员往SharePoint 2013文档库里复制文件时,报错了. 错误 0x800700DF︰ 文件大小超过了允许的限制,无法保存. 解决方法: 解决方法,可以修改本地电脑注册表 ...
- 数据库join union 区别
join 是两张表做交连后里面条件相同的部分记录产生一个记录集,union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集. 1.JOIN和UNION区别 join 是两张表做交连后里 ...
- web@h,c小总结
问题0:元素内联元素,行内元素,行内块元素. 内联: 宽高M,P都有效 行内元素:无宽高,内容撑开,M,P左右有效 行内块元素:可设宽高,内容撑开,M,P都有 ...