学习DRF之前】的更多相关文章

在学习DRF之前~我们要先复习一些知识点~~ FBV和CBV的区别 学习Django的时候~我们已经了解过CBV以及FBV 什么是FBV和CBV呢~~ FBV 基于函数的视图 CBV 基于类的视图 也就是说我们是用函数编写视图~还是类编写视图~~我们来看下两个的简单实现~~ urlpatterns = [ path('admin/', admin.site.urls), path('test_fbv', test_fbv), path('test_cbv', TestCBV.as_view())…
学习DRF之前~~~   在学习DRF之前~我们要先复习一些知识点~~ FBV和CBV 学习Django的时候~我们已经学习过了CBV以及FBV~~我们来复习一下~~ 什么是FBV和CBV呢~~ FBV 基于函数的视图 CBV 基于类的视图 也就是说我们是用函数编写视图~还是类编写视图~~我们来看下两个的简单实现~~ urlpatterns = [ path('admin/', admin.site.urls), path('test_fbv', test_fbv), path('test_cb…
在学习DRF之前~我们要先复习一些知识点~~ FBV和CBV 学习Django的时候~我们已经学习过了CBV以及FBV~~我们来复习一下~~ 什么是FBV和CBV呢~~ FBV 基于函数的视图 CBV 基于类的视图 也就是说我们是用函数编写视图~还是类编写视图~~我们来看下两个的简单实现~~ urlpatterns = [ path('admin/', admin.site.urls), path('test_fbv', test_fbv), path('test_cbv', TestCBV.a…
一.引入 通过前面三节课的学习,我们已经详细了解了DRF提供的几个重要的工具,DRF充分利用了面向对象编程的思想,对Django的View类进行了继承,并封装了其as_view方法和dispatch方法,随后提供了几个非常方便的编程工具,比如解析器.序列化. 我们通过解析器,可以对来自客户端的application/json数据进行解析,另外,通过序列化工具,我们能够快速构建一套符合REST规范的api,随后又通过DRF的mixin.view及viewset对这些接口逻辑进行优化. 有了他们,程…
知识点复习回顾一:三元运算 三元运算能够简化我们的代码,  请看如下代码: # 定义两个变量 a = 1 b = 2 # 判断a的真假值,如果为True,则将判断表达式的前面的值赋给c,否则将判断表达式后面的值赋给c c = a if a else b print(c) # 1 # 因为a的真假值判断为True,所以c为1 # 定义两个变量 a = 0 b = 2 # 判断a的真假值,如果为True,则将判断表达式的前面的值赋给c,否则将判断表达式后面的值赋给c c = a if a else…
应用目录结构: views.py from django.shortcuts import render # Create your views here. from django.views import View from django.http import JsonResponse, QueryDict from bookset.models import BookInfo #导入序列化列 from .serializers import BookInfoSerializer #####…
一.安装 1.安装 pip install djangorestframework 2.配置 注:以上两部就OK了 二.最简单的drf版本 1.创建应用 在项目中新建一个应用: python manage.py startapp app 2.编写视图 from django.shortcuts import render from rest_framework.viewsets import ModelViewSet from bookset.models import BookInfo fro…
vue基础系列 001 路飞学诚项目简介 002 Vue简介 003 Vue引入 004 文本指令 005 事件指令 006 斗篷指令 007 属性指令 008 表单指令 009 条件指令 010 路飞导航条 011 循环指令 012 TodoLIst 013 前端数据库 014 计算 监听 分隔符 015 组件介绍 016 局部组件 017 全局组件 018 父子组件 019 数据父传子 020 数据子传父 Vue项目系列 021 Vue-生命周期 插槽指令(待完善) 022 Vue环境搭建…
目录 一. REST 1. 什么是编程? 2. 什么是REST? 二. 知识准备 1. CBV(class based view) 2. 类方法 classmethod和classonlymethod 3. 反射. isinstance() (1)getattr() (2)hasattr() (3)setattr() (4)isinstance() 4. self定位 5. http请求协议 6. form表单的enctype属性中有三种请求协议 7. JavaScript中的object(如:…
学习DRF框架,首先我们就需要明白为什么要学习这个框架. 接下来我们就先用原生的Django框架来定义一个符合RESTful设计方法的接口(API). RESTful接口的需求如下: GET /books/ 查询所有图书信息 POST /books/ 新增图书信息 GET /books/<pk>/ 查询指定id的图书信息 PUT /books/<pk>/ 修改指定id的图书信息 DELETE /books/<pk>/ 删除指定id的图书信息 响应数据 JSON 1. 定…
首先,我们需要明白序列化和反序列化的过程指的是什么. 序列化操作:将模型数据 ---> 字典数据 --->JSON数据(响应JSON数据的操作) 反序列化操作:将JSON数据 ---> 字典数据 ---> 校验通过的字典数据 --->模型数据(添加.修改数据的操作) 接下来,我们将学习DRF框架,通过DRF框架来提高我们开发API的效率. 什么是DRF框架? Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具. 通常简称为DRF…
商品列表页 通过商品列表页面来学习drf django的view实现商品列表页 在goods目录下新建一个views_base.py文件,用来区分drf的view和Dajngo自带的view的区别 利用Django的view实现返回json数据 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/9/20 下午 01:16 # @Author : gao # @File : views_base.py from django.…
django rest framework 官网 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) django rest framework 之 版本(四) django rest framework 之 解析器(五) django rest framework 之 序列化(六) django rest framework 之 分页(七) django rest f…
在学习DRF之前~我们要先复习一些知识点~~ FBV和CBV 学习Django的时候~我们已经学习过了CBV以及FBV~~我们来复习一下~~ 什么是FBV和CBV呢~~ FBV 基于函数的视图 CBV 基于类的视图 也就是说我们是用函数编写视图~还是类编写视图~~我们来看下两个的简单实现~~ urlpatterns = [ path('admin/', admin.site.urls), path('test_fbv', test_fbv), path('test_cbv', TestCBV.a…
Django REST framework 一个强大灵活的Django工具包,提供了便捷的 REST API 开发框架 我们用传统的django也可以实现REST风格的api,但是顶不住Django REST framework实现起来太简单了 什么REST API风格 主要需要注意这几个: api部署的域名, 主域名或者专有域名 版本, 通过url地址或者请求头accept 路径, 只能有名词, 不能有动词 http请求动词, get, post, update, delete 状态, 200…
Django学习之DRF-03 视图集    1.视图集介绍    2.视图集基本使⽤        1.需求 使⽤视图集获取列表数据和单⼀数据        2.实现 class BookInfoViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, GenericViewSet): """使⽤视图集实现返回列表数据和单⼀数据""" queryset = BookInfo.object…
Django学习之DRF02 Serializer序列化器之反序列化操作    1.调⽤序列化器进⾏验证        0.准备序列化器 class BookInfoSerializer(serializers.Serializer): """图书数据序列化器""" id = serializers.IntegerField(label= 'ID', read_only= True) btitle = serializers.CharField(…
Django框架基础DRF-01 前后端分离介绍 1.前后端不分离图解 2.前后端分离图解     3.为什么要学习DRF    DRF可以帮助我们开发者快速的开发⼀个依托于Django的前后后端分离的项目 RESTful 介绍    1.认识 RESTful        1.在前后端分离的应⽤模式⾥,后端API接⼝如何定义?            需要⼀种规范和⻛格来约束后端程序员对接⼝的定义            RESTful 就是⽤来约束后端程序员对接⼝的定义的⼀种⻛格       …
目录 视图 视图额基类 视图类扩展 GenericAPIView的视图子类 视图集ViewSet 路由Routers 视图 Django REST framework 提供的视图的主要作用: 控制序列化器的执行( 检验 , 保存 , 转换数据 ) 控制数据库查询的执行( 数据库的删除 . 查询的代码写在视图中, 更新和添加写在序列化器 ) REST framework 提供了众多的通用视图基类和扩展类, 以简化视图的编写 . 视图的基类 APIView rest_framework.views.…
目录 http球球处理 请求与响应 Response 常用属性 状态码 http请求处理 drf除了在数据序列化部分简写代码之外,还在视图中提供了简写操作.所以在Django原有的Django.views.View类基础上,def封装了多个视图子类出来提供给我我们使用. DjangoREST framwork 提供的视图的主要作用: 控制序列化器的执行( 检验 ,保存 , 转换数据 ) 控制数据库查询的执行 调用情趣类和响应类 ( 这俩个类也是由drf 帮我们再次扩展了一些功能类 ) 为了方便我…
一 简述 这里来谈下一些基本原理 二 汇总 1 restful规范 1 根据method不同做不同的操作          request.method='          get(获取) 返回完整对象          post(创建) 返回新的对象          put(更新) 返回完整对象          delete(删除) 返回空 2 基于cbv实现  3 url构成  http:wwww.com/api/版本号/对象/筛选条件/状态码 4 drf的request是对djang…
DRF基本程序调用一 models初步编写  1 编写model.py    from django.db import models 导入    class dbinfo(models.Model):   column= models.CharField(max_length=128)   class Meta:   db_table = dbname    verbose_name = '关系对照表' 2 初始化数据库  python3 manage.py makemigrations ap…
参考文档: Django REST framework基础:认证.权限.限制 Django REST framework基础:分页 Django REST framework基础:解析器和渲染器 一.限制 比如:限制一个IP每10秒钟只能访问3次(Django中间件 访问频率限制) visit_record = { '127.0.0.1': ['9:56:18', '9:56:17', '9:56:04', '9:56:01'] # 只放最近10秒的请求时间 } 自定义限制类 visit_rec…
参考文档: Django REST framework基础:版本控制 Django REST framework基础:认证.权限.限制 为什么要有版本? 某些客户端 使用低版本只维护不开发新功能 v1 主要的产品还要不断的更新迭代功能 v2 DRF中版本 DRF使用版本控制 /books/?version=v1  是在 URL加查询参数 /v1/books/ 全局配置:  路由配置:  源码分析 进阶:request.version都经历了什么?  版本控制能做什么?   认证 你是…
一 环境配置    python3.5+ django2.0 pymysql二 安装   /usr/bin/python3 -m pip install django   /usr/bin/python3 -m pip install djangorestframework  /usr/bin/python3 -m pip install pymysql三 配置  1 启动    修改 django-admin.py python为python3            django-admin.…
DRF框架安装配置及其功能概述 Django与DRF 源码视图解析 DRF框架序列化和返序列化 DRF框架serializers中ModelSerializer类简化序列化和反序列化操作 DRF源码save以及response DRF框架中所有视图及用法 DRF框架中认证与权限工作原理及设置 DRF框架中jwt认证,以及自定义jwt认证 Django-DRF框架自带的路由以及最简化的视图 Django-DRF框架中排序和查询组件 Django-DRF分页组件 Django-DRF框架接口文档…
1.http请求协议 代码很枯燥,结果和奇妙. 1.cbv django.vuews import View classs LoginView(View): def get(self,requset): pass 2.classmethod $ classonlymethod 3.getattr hasattr setattr 4.self定位 - 始终代表调用者本身 5.http请求协议:就是约定成俗的规范,解析数据的规范 6.form enctype 解析参数的格式 7. javascrip…
一. WEB应用模式 在开发Web应用中,有两种应用模式 1. 前后端不分离 把html模板文件和django的模板语法结合渲染完成以后才从服务器返回给客户. 2. 前后端分离 二. API接口 API(Application Programming Interface,应用程序接口) 为了在团队内部形成共识.防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本. 目前市面上大部分公司开发人员使用的接口服务…
目录 DRF框架中常用的组件 分页Pagination 异常处理Exceptions 自动生成接口文档 安装依赖 设置接口文档访问路径 访问接口文档网页 Admin 列表页配置 详情页配置 Xadmin 安装 使用 站点的全局配置 站点Model管理 DRF框架中常用的组件 分页Pagination REST framework 提供了分页的支持. 我们可以在配置文件中设置全局的分页方式,如: REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'res…
目录 Web应用模式 API接口 RESTful API 规范 序列化 Django Rest_Framework 环境安装预与配置 序列化器 -Serializer Web应用模式 在开发web应用中,有俩种应用模式: 1. 前后端不分离(  客户端看到的内容和所有界面效果都是由服务器提供的   ) 这种情况下前端页面中会出现很多涉及到服务端的模板语法 2. 前后端分离( 把前端的界面效果(html 陈述事实就是 分离到另一个项目中, python服务端只需要返回数据即可) 前端形成一个独立的…