首页 > TAG信息列表 > Drf
drf基本视图类APIView
rest_framework.views.APIView APIView是REST framework提供的所有视图类的基类,继承自Django的view父类 APTview与view的不同之处在于: 传入到视图方法中的是REST framework的Request对象,而不是Django的 HttpRequeset对象 视图方法可以返回REST framework的Response报错 drf TypeError: register() got an unexpected keyword argument 'basename'
原因: drf<djangorestframework> 版本问题 转载自: https://stackoverflow.com/questions/59733820/django-rest-framework-drf-typeerror-register-got-an-unexpected-keyword-arg step1: 根据官方文档: drf3.9及之后就变成basename了. 所以先根据当前drf版本确定用badrf快速生成5个基本的api接口
序列化器serializer: from rest_framework import serializers from .models import Student class StudentModelSerializer(serializers.ModelSerializer): class Meta: model = Student fields = "__all__" model 指明该序列化器处理的数据字段从drf的序列化
1.序列化的基类BaseSerializer from rest_framework import serializers serializers.BaseSerializer 2.基本序列化类Serializer,继承于BaseSerializer from rest_framework import serializers serializers.Serializer 3.模型序列化类ModelSerializer,继承于Serializer froDrf视图集合
1.背景: 技术储备,drf适合前后端分离项目,比较适合单表操作的业务,另外丰富的视图集合配合路由自动生成,开发速度能得到极大的提升。 2、视图分类: 2.1:视图超类: from rest_framework.views import APIViedrf-jwt
jwt 这里主要分享的是drf的jwt。原因如下:Json web token,是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,1.6--drf实战案例
1.6 drf实战案例 1. 需求 请结合上述学习的drf知识开发 简易版《抽屉新热榜》。其中包含的功能如下: 注册 输入:手机号、用户名、密码、确认密码。 登录 输入:手机号 或 用户名 + 密码注意:登录成功后给用户返回token,后续请求需要在url中携带token(有效期2周) 我的话题 - 我的Django-DRF(视图相关)
Django-DRF(视图相关) drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作。所以在django原有的django.views.View类基础上,drf封装了多个子类出来提供给我们使用。 Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据DRF JWT 用户认证
环境说明: python: 3.8 django: 3.2 djangorestframework-jwt 1.11.0 项目大概说明: 基于Django中的系统用户表进行扩展,通过jwt进行用户权限认证。 目录结构: 认证相关 视图 from rest_framework import status from rest_framework.decorators import action from rest_framework前后端(drf)交互跨域问题解决
前后端交互跨域问题解决 问题描述 解决方式 1.安装第三方模块 pip install django-cors-headers 2、添加到setting的app中 INSTALLED_APPS = ( ... 'corsheaders', ... ) 3、添加中间件 MIDDLEWARE = [ # Ordrf中depth参数的使用
drf中depth参数的使用 1、模型文件 用户User、用户组Group、一个组有多个用户,一个用户只属于一个组,用户组对应用户属于一对多 from django.db import models class User(models.Model): id = models.AutoField(primary_key=True) uid = models.CharField("用户ID", max_drf 源码分析之【Serializer-数据校验】
引入一个例子: models.py 点击查看 # models.py from django.db import models class Role(models.Model): """ 角色表 """ title = models.CharField(verbose_name="名称", max_length=32) class Department(models.Model): &quoDRF之分页
目录分页类DRF三种分页方式继承APIView类实现分页 分页类 在DRF中,如果需要对数据进行分页处理,就可以使用分页类,要求视图类需要继承GenericAPIView类和ListModelMixin类 DRF三种分页方式 PageNumberPagination类 基本分页,根据页码和每页显示的数据条数控制返回的数据。 继承PageNdrf篇:全局异常处理
全局异常处理(重要) 使用drf的异常处理可以捕获drf的报错信息,但是django或者原生python的报错信息也需要我们处理,这些捕获到的信息都需要我们封装好发送到前端,这是我们全局处理异常的目的。 # drf配置文件中,已经配置了,但是它不符合咱们的要求 # drf的配置文件:'EXCEPTION_HANDLER':drf篇:接口文档、RBAC介绍
1 自动生成接口文档 # 后端人员,写好接口,提供接口文档给前端用 # 如何编写接口文档 -使用word写,md写----》提交到git上 -公司有接口文档平台---》后端人员在文档平台录入数据---》公司自己开发,yapi(百度开源),第三方 -https://zhuanlan.zhihu.com/p/366025001 自己搭建DRF---认证和权限
认证 登录认证:某个接口必须登录后才能访问。 登录接口原理:登录成功返回随机字符串,携带随机字符串【认证】 通过,再继续访问某个接口 drf提供了很方便的写认证,读APIView源码时,三大认证在视图类的方法之前执行的。 登录接口 -用户表,用户token表 -前端传入用户名密码----》视Django-DRF
1.常用api接口规范 请求方式 请求连接 相应操作 GET 获取 POST 新建 DELETE 删除 PUT 更新 PATCH 更新 2.状态码 1 """ 2 101 Switching Protocols 协议进行中,一般从http升级到https的时候可以看到 3 200 OK[GET] 41.5 django restframework(下)
1.5 django restframework(下) drf内置了很多便捷的功能,在接下来的课程中会给大家依次讲解下面的内容: 快速上手 请求的封装 版本管理 认证 权限 限流 序列化 视图 条件搜索 分页 路由 解析器 10. 分页 在查看数据列表的API中,如果 数据量 比较大,肯定drf day01
今日内容 2 web开发模式 # 你见过的所有软件,百分90%,都是web软件,只要通过http,websocket # web后端---> python 后端开发---》不仅仅是开发网站 -微信,迅雷,百度网盘 -osi七层 mysql,redis: tcp传输层---》应用层http # 两大种 -前后端混合开发 -bbs项目,混合的 -既要写day13-drf的请求和响应
请求对象 REST框架引入了一个扩展了常规HttpRequest的请求对象,并提供更灵活的请求解析。请求对象的核心功能是属性,request.data,这与request.POST类似,单对于WebAPIS更有用 响应对象 REST framework还引入了一个响应对象,这是一种TemplateResponse类型,它接受未渲染的内drf_01 web开发模式 api接口 api接口测试工具之postman restful规范 drf快速使用
drf_day01 web开发模式 # 你见过的所有软件,百分90%,都是web软件,只要通过http,websocket# web后端---> python 后端开发---》不仅仅是开发网站-微信,迅雷,百度网盘-osi七层 mysql,redis: tcp传输层---》应用层http 相关知识点:https://www.cnblogs.com/jiqiong/p/16147251.htmldrf
web开发模式 api接口 api接口测试工具 restful规范 序列化反序列化 drf快速使用 web开始模式 # 我们所见到的软件百分之九十都是web软件,只要通过http,websocket...# web后端--》python 后端开发--》不仅仅是开发网站 eg:微信 迅雷,百度网盘... osi七层 MySQL,reDRF框架--异常捕获的使用
REST framework定义的异常: APIException 所有异常的父类 ParseError 解析错误 AuthenticationFailed 认证失败 NotAuthenticated 尚未认证 PermissionDenied 权限决绝 NotFound 未找到 MethodNotAllowed 请求方式不支持 NotAcceptable 要获取的数据格式不支持 TDRF框架--视图集中新增额外行为
视图集: ViewSet,GenericViewSet,ModelViewSet 视图集增加额外行为,比如增加查询最新的一本图书信息: class BookViewSet(ModelViewSet) '''视图集''' queryset = BookInfo.objects.all() serializer_class = BookInfoModelSerializer def latest(self,requDRF框架
DRF框架 https://blog.csdn.net/weixin_44327634/article/details/113444274 https://blog.csdn.net/weixin_44327634/article/details/115430357 https://blog.csdn.net/weixin_44327634/article/details/115470649 序列化和反序列化: 序列化: 把我们识别的数据转换成指定的格式提