![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django-restframework(DRF)
文章平均质量分 61
爱python的小王
学习如逆水行舟,不进则退
展开
-
DRF之序列化器嵌套
models.py直接在模型中定义achievementname = models.CharField(max_length=50, verbose_name="姓名")age = models.IntegerField(verbose_name="年龄")# 直接在模型中定义achievement"""成绩列表"""然后在序列化器中就可以直接添加该字段了# 在序列化器中调用另一个序列化器,就是序列化器嵌套结果如图:序列化器嵌套的方式大概就这么几种,希望本篇文章对你有所帮助。原创 2023-02-25 12:00:00 · 788 阅读 · 0 评论 -
DRF之基本视图集(ViewSet)、通用视图集(GenericViewSet)
drf提供了视图集可以解决以上问题。2.get方法重复问题。原创 2023-02-24 12:00:00 · 621 阅读 · 0 评论 -
DRF之Mixin5个视图扩展类及9个视图子类
Mixin混入类提供了几种后端视图(对数据资源进行增删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以通过继承相应的扩展类来复用代码,减少自己编写的代码量。列表视图扩展类,提供list(request,*args,**kwargs)方法快速实现列表视图,返回200状态码,该Mixin的list方法会对数据进行过滤和分页。详情视图扩展类,提供retreve(request, *args, **kwargs)方法,可以快速实现返回一个存在的数据对象,如果存在返回200,否则返回404。原创 2023-02-23 12:00:00 · 213 阅读 · 0 评论 -
DRF之View、APIView以及GenericAPIView
序列化后前端展示都是json数据,反序列化(post、put)也以json数据格式输入,这种用法存在很大的局限性,如果前端想以application/x-www-form-urlencoded或者其它的格式输入、或者返回的数据想以html页面的方式展示,这需要使用到另一个视图类,APIView,它对django中的View做了一系列拓展,如:认证、授权、限流和不同请求数据的解析等等。视图方法可以返回Response对象,自动处理(根据请求头的参数)为符合前端要求的格式。原创 2023-02-22 09:07:02 · 489 阅读 · 0 评论 -
DRF序列化器和反序列化器的实现(serializer)
然后在views.py中先获取前端传来的数据,然后对数据进行实例化序列化器对象,并验证数据的合法性,最后返回结果(方法,方法中首先需要获取数据库数据(objects.all()),然后。大概流程:先在serializers.py中。,然后在views.py中定义类,在类中定义。大概流程:先在serializers.py中。实例化序列化器,得到序列化器对象(验证数据的某个字段,定义添加数据。来获取转换后的数据,最后使用。希望本篇文章对你有所帮助!已经定义好的序列化器。在方法中定义报错信息。原创 2023-02-20 22:16:12 · 198 阅读 · 0 评论 -
Restful-API介绍
把服务端提供的所有的数据/文件都看成资源,那么通过api接口请求数据的操作,本质上来说就是对资源的操作了。例如:我们在Django中获取到的数据默认是模型对象,但是模型对象数据无法直接提供给前端或者别的平台使用,所以我们需要把数据进行序列化,变成字符串或者json数据,提供给别人。不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。这种风格的理念认为后端开发任务就是提供数据的,对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的URL路径就表示这种要操作的数据资源。原创 2023-02-18 12:15:00 · 247 阅读 · 0 评论 -
restfulAPI接口——HTTP地址解析
PATCH:在服务器更新资源(客户端提供改变的属性,部分资源)。OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。PATCH/class/ID:更新编号为ID的班级的的部分信息。3xx 表示当前本次请求成功,但是服务器进行代理操作/重定向。PUT/class/ID:更新编号为ID的班级的所有信息。协议://域名(IP):端口号/路径/?4xx 表示当前本次请求失败,主要是客户端发生了错误。5xx 表示当前本次请求失败,主要是服务器发生了错误。GET:从服务器取出资源(一项或多项)。原创 2023-02-17 10:04:51 · 305 阅读 · 0 评论