【python】web应用开发DRF框架

news/2024/10/17 10:33:08/

DRF

【python】web应用开发DRF框架

Django rest_framework, 简称 drf, 可以更方便的使用django写出符合 RESTful 规范的接口, (缩减编写api接口的代码)

Django REST framework是一个建立在Django基础之上的Web应用开发框架(Django的一个app),可以快速的开发REST API接口应用
在REST framework中,提供了序列化器Serialzier的定义,可以帮助我们简化序列化与反序列化的过程
不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作
REST framework还提供了认证、权限、限流、过滤、分页、接口文档等功能支持
REST framework提供了一个API 的Web可视化界面来方便查看测试接口

  • 1、官方文档 : https://www.django-rest-framework.org/

  • 2、GitHub : https://github.com/encode/django-rest-framework/tree/master

2.安装与快速使用(csrf禁用状态)

  • 安装 drf
pip3 install djangorestframework
  • models.py 文件书写模型类
from django.db import modelsclass Book(models.Model):nid = models.AutoField(primary_key=True)title = models.CharField(max_length=32)price = models.DecimalField(max_digits=8,decimal_places=2)author = models.CharField(max_length=16)publish = models.CharField(max_length=16)
# 创建好模型类执行数据库迁移命令
  • serializers.py 新建一个序列化类(该文件自己创建),如果如果是继承了ModelSerializer
from rest_framework.serializers import ModelSerializer
from drf_test import modelsclass BookSerializers(ModelSerializer):class Meta:model = models.Book  #  指明该序列化器处理的数据字段从模型类Book参考生成fields = "__all__"   # 指明该序列化器包含模型类中的哪些字段,’all‘指明包含所有字段

果类继承的是Serializer,也就是继承了基类,那么这个我们要写的类的写法就是和model里面差不多,,格式如下:

序列化的使用

在view里面写逻辑的时候,比如我们将查询出来的数据,要返回给前段,那么就需要序列化查询出来的数据,那么就需要使用序列化器,使用方法如下:

如果前端传过来数据,我要进行反序列化咋办,将instace 这个属性变为data属性就行,就是属性不一样,其他的都一样。

具体源码就是:

将查询出来的数据返回给前段,有可能查询出多条数据,咋返回了:

 book_data = serializers.BookModelSerializers(book_obj).data  #单条数据序列化 book_data = serializers.BookModelSerializers(book_query,many=True).data  
#不管是一条还是多条,只要数据是被[]嵌套,都要写many=True

  • views.py 书写视图类
 

参考:DRF框架(四)——序列化器和反序列化器-腾讯云开发者社区-腾讯云

2、DRF框架入门介绍_给你骨质唱疏松的博客-CSDN博客


http://www.ppmy.cn/news/598263.html

相关文章

剑指 Offer 12: 矩阵中的路径

这道题看着简直是完全没思路,看了下发现是使用回溯的方法。 下面这里要注意,newi是旧的i加上新的偏移值!newj同理,并不是加自己,别昏头! s是String类型的变量,要写成size() 下面是正确的代码&a…

6.S081——设备中断与驱动部分(串口驱动与Console)——xv6源码完全解析系列(8)

0.briefly speaking 点此返回上一篇博客 上一篇博客中我们简单介绍了UART和PLIC的初始化过程,并迭代式的分析了console的读写操作,这篇博客接着上一篇的话题,研究一下一个字符是怎么一步步被显示到我们的屏幕上的,经过了哪些设备…

mac文件夹 文件重命名快捷键

选中文件,再 回车键!!! 即可重命名

重命名快捷键

第一种是使用按键F2。选中文件,按下F2,文件就会处于重命名状态。 第二种是左键选中文件,在文件处于选中的状态下同样左键点击文件名部分,就可以使文件处于重命名的状态。当然,两次单击的时间间隔不要过短,过…

电脑文件之批量重命名

电脑的【文件资源管理器】可以进行简单的重命名操作。 1、CTRLA全选图片,然后按F2,或者右键菜单【重命名】,就会在第一个文件中出现重命名的窗口。 2、重命名,然后回车。 3、接着文件名字就会以序列的形式有规则的进行命名。 学…

windos下快捷键给文件、文件名重命名

今天,老师给了个小任务,要把老师QQ上收到的一百多个作业把命名格式不对的记录下来。这项任务简单多了,可是,我是一个比较懒的人,让我一个个的把不对的名字输入到文档里,我没这个耐心,故此&#…