![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
9.Rest框架-Django
文章平均质量分 88
Django REST framework是一个建立在Django基础之上的Web 应用开发框架,本质上就是一个内置在django里面的子应用,可以快速的开发REST API接口应用
小Pawn爷
Python菜鸟
展开
-
1.RESTfulAPI规范
1. 域名应该尽量将API部署在专用域名之下。https://api.example.com如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。https://www.example.org/api/2. 版本(Versioning)项目开发过程中都会对项目进行版本迭代,所以每一个版本的api接口肯定都有可能存在差异,因此应该将API的版本号放入URL。http://www.example.com/api/1.0/http://www.example.com/api/1.1/原创 2021-05-29 16:11:27 · 248 阅读 · 0 评论 -
2.DRF的简单应用
1. Django Rest_Framework核心思想: 缩减编写api接口的代码Django REST framework是一个建立在Django基础之上的Web 应用开发框架,本质上就是一个内置在django里面的子应用,可以快速的开发REST API接口应用。在REST framework中,提供了序列化器对象Serialzier的定义,可以帮助我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图,扩展类,视图集来简化视图的编写工作。REST framework还提供了认证、权限、限流转载 2021-05-30 11:01:12 · 117 阅读 · 0 评论 -
3.Request和Response
1. http请求处理drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作.所以在django原有的django.views.View类基础上,drf封装了多个视图子类出来提供给我们使用Django REST framwork 提供的视图的主要作用:控制序列化器的执行(检验,保存,转换数据)控制数据库查询的执行调用请求类和响应类[这两个类也是由drf帮我们再次扩展了一些功能类]1.1. 请求与响应View不能使用Request,Response,只有继承APIView才能使用原创 2021-06-06 22:47:42 · 508 阅读 · 3 评论 -
4.序列化器-Serializer
序列化器-Serializer作用:序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器完成数据校验功能,然后把字典转成模型1. 定义序列化器models.pyfrom django.db import models# Create your models here.class Student(models.Model): # 模型字段 name = models.C原创 2021-06-06 12:26:06 · 2083 阅读 · 2 评论 -
5.DRF视图
1. 视图Django REST framwork 提供的视图的主要作用:控制序列化器的执行(检验,保存,转换数据)控制数据库查询的执行[数据库的删除/查询代码写在视图中,更新和添加写在序列化器]1.2 视图REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写1.2.1 2个视图基类1.2.1.1 APIViewrest_framework.views.APIViewAPIView是REST framework提供的所有视图的基类,在继承自Django的V原创 2021-06-08 08:51:49 · 320 阅读 · 0 评论 -
6.DRF的视图和路由
1. 视图Django REST framwork 提供的视图的主要作用:控制序列化器的执行(检验,保存,转换数据)控制数据库查询的执行[数据库的删除/查询代码写在视图中,更新和添加写在序列化器][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dmytdAmc-1623847876551)(APIView基本视图类.png)]1.2 视图REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写1.2.1 两个视图基类1.2.1.1 A原创 2021-06-16 20:51:45 · 335 阅读 · 0 评论 -
7.Django如何实现跨域
文章目录1.同源策略2.简单/复杂请求3.CORS4.如何解决实现CORS1.jsonp2.添加响应头1.同源策略同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源,即协议不同,域名不同或者端口不同的都是非同源的浏览器只阻止表单以及 ajax 请求,并不会阻止 src 请求,所以能访问cnd,图片等 src 请求2.简单/复杂请求简单请求定义只能使用get/post/head请求方式HTTP 头信息不超出以下几种字段Accept, Accept-原创 2021-12-05 18:52:32 · 910 阅读 · 0 评论 -
8.JWT认证
JWT ( Json web token)认证机制, 为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准, 该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景http协议本身是一种无状态的协议,为了知道哪个用户发出的请求,服务器必须存储一份用户登录的信息,这会登录信息又在响应时传递给浏览器,用cookie保存起来,以便下次请求时发送给浏览器token认证不需要在服务端保留用户的认证信息,token认证流程如下用户使用用户名密码来请求服务器服务器进行验证用户的信息。原创 2022-09-25 14:55:07 · 349 阅读 · 0 评论 -
DRF解析器和渲染器
DRF解析器解析器的作用:服务端接收客户端传过来的数据,把数据解析成自己想要的数据类型的过程,本质就是对请求体中的数据进行解析。Accept:是指服务器高数客户端服务器能解析什么样的数据ContentType:客户端告诉服务器传递的是什么样的额数据类型服务器拿到相应的请求的 ContentType 来判断前端给我的数据类型是什么,然后我们去拿相应的解析器去解析数据Django的解析器Django的request的类型为WSGIRequest这个类,Post请求将数据存放在request.bod原创 2021-12-14 08:29:56 · 582 阅读 · 0 评论 -
DRF框架中常用的组件
文章目录DRF框架中常用的组件1. 认证1.全局认证2.部分认证2. 权限1.提供的权限2.全局配置3.局部权限4.自定义权限3. 限流1.定义2.全局限流3.局部限流4. 过滤1.定义2.全局配置3.局部配置5. 排序1.基本排序2.过滤排序6. 分页1.全局分页2.自定义分页1.页码分页类2.偏移分页类7. 异常处理 Exceptions1.DRF的异常2.自定义异常8. 自动生成接口文档8.1. 安装依赖8.2. 设置接口文档访问路径8.4. 访问接口文档网页两点说明:DRF框架中常用的组件为了方原创 2021-06-21 08:44:03 · 486 阅读 · 1 评论 -
Xadmin
Xadminxadmin是Django的第三方扩展,是一个比Django的admin站点使用更方便的后台站点.构建于admin站点之上。文档:http://sshwsfc.github.io/xadmin/ https://xadmin.readthedocs.io/en/latest/index.html注意Xadmin只适合Django2.0的项目不适合Django3.01.1. 安装通过如下命令安装xadmin的最新版pip install https://c原创 2021-06-27 18:35:37 · 745 阅读 · 0 评论 -
Admin站点
1.使用Admin站点需求场景:一个新闻网站,每天录入新的新闻,需要对数据库进行增删改查的操作解决方案:使用Django的后台管理系统,Django能够根据定义的模型类自动地生成管理页面使用Django的管理模块,需要按照如下步骤操作:管理界面本地化创建管理员注册模型类自定义管理页面1 管理界面本地化在settings.py中设置语言和时区LANGUAGE_CODE = 'zh-hans' # 使用中国语言TIME_ZONE = 'Asia/Shanghai' # 使用中国上海转载 2021-06-26 15:48:05 · 1043 阅读 · 0 评论