首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Python进阶39-drf框架(一)

State Transfer的简称,中文翻译为“表征状态转移” 2.REST资源的角度类审视整个网络,它将分布在网络某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态...如何写接口:接口规范是,规范化书写接口的, 写接口要写:url、响应数据 注:如果将请求参数也纳入考量范围,那就是在写接口文档 ---- RESTful API设计 URL: 1) 用api关键字标识接口...,用一个url处理如何保证不混乱 - 通过请求方式标识操作资源的方式 /books get 获取所有 /books post 增加一个(... ---- 访问admin添加数据    原生Django的get请求实现单查群查接口 ---- 六大基础接口 获取一个数据 获取所有数据 增加一个数据 删除一个数据 更新一个数据...的post请求 ---- 下载postman post请求需要使用一个工具postman postman官网      ## 接收post请求,并且查看数据 from django.shortcuts

4K30

【小家Java】Servlet规范之---请求(request):Servlet如何获取POST请求参数?(使用getParameter())

前言 request对象封装了来自客户端的所有请求信息。在HTTP协议,客户端发给服务端的所有信息都是通过request对象的请求头和请求体来传送的。...,当然,这个Map以参数名为key,参数值为对应的value query字串**和post提交的请求体(是有规范约束的,下面介绍)获得的所有请求数据都会包装进请求参数集合(这是个重要概念,可以理解成一个...Map)**。...这就是Servlet规范,它只作于POST请求~ 若POST请求不是application/x-www-form-urlencoded,怎么获取body体的内容呢?...这也是Spring MVC@RequestBody的基本原理 备注:请注意流都是只能读一次的,避免冲虚读取~~ PUT请求可以像POST这样使用规范吗?

12.5K40

DRF的Request对象和Response对象

DRF的Request对象和Response对象 一旦使用了DRF的视图,那么传入视图的Request对象不在是Django的Request对象,而是DRF封装过后的Request对象。...同样,DRF建议使用封装过的Response来返回HTTP响应,使用该类构造响应对象时,响应的具体数据内容会被转换(render渲染)成符合前端需求的类型。...@api_view(['POST']) def post(request): data = request.data # 获取请求体数据 return Response(data...如果需要上传文件,请阅读DRF上传文件 注意 在开发客户端应用程序时,请始终记住确保Content-Type在 HTTP 请求中发送数据时设置标头。...无论请求方式是什么,URL的参数,我们在DRF总是使用request.query_params来获取

1.6K40

第 12 篇:加缓存为接口提速

获取文章列表需要从数据库查询,获取单篇文章需要从数据库查询,获取评论列表也需要查询数据。但是,对于博客的很多资源来说,在某个时间段内,他们的内容几乎都不会发生更新。...要知道查询数据库的操作相对而言是比较缓慢的,而直接内存中直接读取数据就会快很多,因此缓存系统应运而生。...drf-extensions Cache django 的缓存框架比较底层,drf-extensions 在 django 缓存框架的基础上,针对 django-rest-framework 封装了更多缓存相关的辅助函数和类...我们先来看看 API 接口缓存的逻辑,伪代码是这样的: 给定一个 URL, 尝试从缓存查找这个 URL 接口的响应结果 if 结果在缓存: return 缓存的结果 else: 生成响应结果...例如,同一个 API 请求,已认证和未认证的用户将得到不同的响应结果,我们可以定义 key 的生成规则为请求的 URL + 用户的认证 id。

1.1K40

DRF进阶之DRF视图和常用功能

View:Django默认的视图基类,负责将视图连接到URL,HTTP请求方法的基本调度,之前写类视图一般都用这个。...a=123&b=456 查看get_params数据 post数据测试 查看request.data数据 get和post提交数据场景和特点 get 获取数据 提交数据有长度限制 传输是明文形式...post 提交数据 提交数据无长度限制 请求body中提交数据,安全系数较高 Response DRF提供了一个响应类Reponse,响应的数据会自动转换符合前端的JSON数据格式。...ViewSet视图集不再实现get()、post()等方法,而是实现以下请求方法动作: list():获取所有数据 retrieve():获取单个数据 create():创建数据 update(...({'get': 'list','post': 'create'})), #获取所有数据和创建 re_path('^users3/(?

4.3K10

DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

post方法,其内部有个dispatch方法来进行分发,这又怎么玩呢,看源码啦,哪里看呢?...他和put用哪个都可以,没有太大的区别,我们用put方式偏多 DELETE(DELETE):服务器删除资源。       还有两个不常用的HTTP动词。 HEAD:获取资源的元数据。...,不用DRF来写个接口,看看效果   好,接下来我们创建一个django项目,models创建一个表,添加一些数据,然后写一个数据接口来获取一下这些数据,返回json数据类型,按照我们CBV的模式来写...django自动通过contentType来解析数据的那些方法就叫做django的解析器,能解的是urlencode和文件的那个mutipart/form-data类型的数据,然后将数据放到了request.POST...return HttpResponse('POST')       而DRF通过自己的解析器,帮我们给request里面封装了一个request.data属性,获取请求体里面的数据,然后解析

2.5K20

让你的Django应用变DRY的几个最佳实践

DjangoDjango REST framework(后简称DRF)提供了海量的全局配置、局部配置,来实现上述思想,但配置项太多了,有时人们往往不知道该如何利用。 一、用户鉴权 1....使用时通过django.contrib.auth.authenticate函数,传入想要的参数,该函数会自动选择对应的后端进行用户校验,常用的校验方式有数据库校验、配置文件校验、LDAP校验等等。...APIView生效,非常灵活 保留了DRF的智能渲染特性,即浏览器请求渲染HTML页面,后端请求渲染JSON响应 DRF的默认renderer有两个:rest_framework.renderers.JSONRenderer...在Django+DRF异常处理有两个重载点: 中间件的process_exception函数 DRF的EXCEPTION_HANDLER配置 而其中EXCEPTION_HANDLER的作用时间早于中间件...return exc.as_response() 美中不足的是有一大段的代码是DRF默认的异常处理函数copy过来的,这是DRF为数不多的不合理设计,留了一个配置项供你改变默认行为,

1.6K50

Django&DRF重点内容大盘点

Django&DRF重点内容大盘点 本文只是将学习过程需要深刻记忆,在工作中常用的一些命令或者知识点进行一个罗列并阐释,不会全面的将所有内容进行讲解。...2)返回的时候用到了 HttpResponse这一命令返回响应对象 1.3.2url地址的配置 1.在子应用的urls.py文件设置当前子应用url地址和视图对应关系 urlpatterns =...,即假使客户端进行POST方式的请求,依然可以通过request.GET获取请求的查询字符串数据。...path 请求的url路径 META 请求头 COOKIES 客户端发送的cookie信息 FILES 客户端上传的文件 1.7相应对象构造 1.7.1响应时返回json数据 def get_json...地址采用不同的请求方式执行不同的操作 GET(获取) POST(新增) PUT(修改) DELETE(删除) 3)过滤参数可以放在查询字符串 4)响应数据返回&响应状态码 状态码 说明 200 获取或修改成功

5.9K20

DRF框架(一)——drf请求生命周期是什么?请求模块request咋用?渲染模块render咋用?

目录 安装DRF框架 drf请求生命周期流程 请求模块:request对象 渲染模块: 安装DRF框架 pip install djangorestframework drf请求生命周期流程 根据应用...csrf 认证 在父类(django原生View)的as_viewdispatch方法请求走的又是APIView的dispatch #因为APIView也可以走dispatch,视图类是先继承...APIView,APIView没有再去原生View 完成任务方法交给视图类的请求函数处理,得到请求响应结果, 返回给前台所以以后直接就从APIView的dispatch入口看源码 请求模块:request...,所有数据包数据都被解析到data get请求:url拼接的参数通过request.query_params获取 post请求:所有请求方式所携带的数据包都是通过request.data获取 请求模块最终的结论就是...:获取数据有两种方式 query_params和data(通过parser解析数据传到data) 使用drf写的get/post请求 渲染模块: 自定义全局配置:所有视图类统一处理,在项目的settings.py

89110

不会DRF?源码都分析透了确定不来看?

Django View和DRF APIView的小插曲 DRF之APIView和Request对象分析 APIView的执行流程 Request对象分析 原来的django没有request.data...来了post请求就走post方法,过程如何?...View和DRF APIView的小插曲 ps:不管是DRF的APIView还是乱七八糟的xxView,最后只要继承了Django的View就是视图类 DRF之APIView和Request对象分析..._request, attr)反射,所以才一样 总结:新的request当老的用即可,只是多了个data前端post请求传入的数据,三种编码格式都可以获取 验证处理三种编码格式 json格式,只有...,这样只能获取到一个,需要使用getlist来获取,取出全部 官网的一些解释 原来的django没有request.data,造一个!

1.3K10

drf请求响应、视图

作者&好友:Laoqi 1、请求响应 1.1 Request(请求drf 传入视图的request 不再是Django默认的HttpRequest对象,而是drf 提供的拓展了HttpRequest...类似于Django中标准的request.POST和 request.FILES属性,但提供如下特性: 1 包含了解析之后的文件和非文件数据 2 包含了对POST、PUT、PATCH请求方式解析后的数据...drf 提供了Renderer 渲染器,用来根据请求头中的Accept(接收数据类型声明)来自动转换响应数据到对应格式。...如果前端请求未进行Accept声明,则会采用默认方式处理响应数据,我们可以通过配置来修改默认响应格式。 可以在rest_framework.settings 查找所有的drf默认配置项。...在APIView仍以常规的类视图定义方法来实现get() 、post() 或者其他请求方式的方法。例如使用APIView简单的实现五个增删查改的API接口。

2.1K20

Django REST Framework-类视图(一)

Django REST Framework提供了许多内置的视图来处理不同类型的请求。其中一种是类视图,类视图是一个基于类的视图,可以继承DRF的APIView类或其子类。...在这个例子,我们定义了一个名为HelloView的类视图,并继承了DRF的APIView类。我们覆盖了其中的get方法,以便处理GET请求。...在该方法,我们返回一个包含Hello World消息的JSON响应。我们使用Response类将字典转换为响应对象。...每个方法都需要至少一个参数request,该参数包含HTTP请求的相关信息。除此之外,它们还可以接受其他参数,例如URL参数和查询参数。在这些方法,我们可以使用DRF的Response类来生成响应。...我们使用request.data来获取POST请求的数据,并将其用于处理逻辑。最后,我们返回一个包含success为True的JSON响应

29121

重点内容回顾-DRF

重点内容回顾-DRF 1. on_delete on_delete是定义模型类中外键的一个选项。 on_delete选项指明的是主表删除数据的时候,对于外键引用的表数据如何处理。...5.2Restful API接口设计风格 关键点: a.url地址尽量使用名词,不要使用动词; b.请求url地址采用不同的请求方式执行不同的操作;(POST新增/GET获取/PUT修改/DELETE删除...) c.过滤参数可以放在查询字符串; d.响应数据返回&响应状态码;(200获取或修改成功/201新增成功/204删除成功/404资源不存在/400客户端请求有误/500服务器错误) e.响应数据格式...request.data保存的是解析之后的请求体的数据,并且已经解析成了字典或类字典,相当于包含Django原始request对象的request.body/request.POST/request.FILES...团队开发注意事项 浅谈密码加密 Django框架的英文单词 Django数据库的相关操作 DRF框架的英文单词

2.4K20

Python进阶43-drf框架(五)

Otherwise returns `None`. """ # 带有反爬小规则的获取token:前台必须按 "jwt token字符串" 方式提交 # 校验user第1步:请求头...user = self.authenticate_credentials(payload) return (user, jwt_value) ---- 手动校验token # 1)请求头中获取...先在api目录下的filter.py文件自定义一个类 ## django-filter插件过滤器类 from django_filters.rest_framework import FilterSet...大总结 接口 """ 1、什么是接口:url+请求参数+响应数据 | 接口文档 2、接口规范: url:https,api,资源(名词复数),v1,get|post表示操作资源的方式,?...:系统只处理了部分,所以手动还需要处理;后期异常信息需要记录到日志文件 工作流程:先交给drf处理异常,如果有响应结果,代表drf已处理,如果是None,自己处理 """ 序列化组件 # 1)可以将

3.1K20

第 16 篇:别再手动管理接口文档了

当然写接口文档不是搞文学创作,为了直接写好的代码自动提取信息来生成文档,就必须要有一套标准的文档格式,否则工具无法知道要从代码中提取出哪些信息,信息提取之后,也不知道该如何组织这些信息。...drf-yasg drf-yasg[5] 是一个 django 的第三方应用,它可以 django-rest-framework 框架编写的代码自动提取接口信息来生成符合 OpenAPI 标准的文档...例如我们可以看到 GET /posts/{id}/ 这个接口的响应参数,其中大部分有中文信息的描述,我们可以推断,这些说明都是 drf-yasg 自动定义在 Post 模型各字段的 verbose_name...其中 toc 和 body_html 因为不是 Post 定义的字段,所以 drf-yasg 无法知道关于这两个字段的说明。 drf-yasg 是如何知道这个接口会返回哪些响应参数的呢?...原理是 drf-yasg 会尝试去解析接口对应的序列化器(Serializer),序列化器中提取出对应的请求响应字段(如果序列化器找不到,它会进一步去序列化器关联的模型找),因此我们就可以给序列化器定义的字段添加说明信息

1.8K20

DRF一级视图APIView

使用方式: from rest_framework.views import APIView APIView与View的不同之处在于: 传入到视图方法的是Django REST framework的Request...对象,而不是Django的HttpRequeset对象; 视图方法可以返回Django REST framework的Response对象,视图会为响应数据设置(render)符合前端要求的格式;(需要...from rest_framework.response import Response) 任何APIException异常都会被捕获到,并且处理成合适的响应信息; 在进行dispatch()分发前,会对请求进行身份认证...依旧是get方法处理get请求post方法处理post请求。除此之外,APIView增加了一些可插入的属性。最常用的是下面三个。...api_view()装饰器 api_view装饰器确保视图函数接收DRF的Request对象,此外还提供了请求方法限制。默认情况下只GET接受方法。

87110
领券