当前位置: 首页 > news >正文

django restful framework序列化与反序列化

在前后端分离开发中,对于RESTfulAPI设置,一般需要将查询/更新数据以JSON方式进行返回。

序列化

Model.py

from django.db import models
class User(models.Model):username = models.CharField(verbose_name='用户名',max_length=10)age = models.IntegerField(verbose_name='年龄')email = models.CharField(verbose_name='邮箱',max_length=20)

View.py

from api.models import User
from  api.models import userSerializer
class userView(APIView):def get(self,request):queryset = User.objects.all()# 序列化res = userSerializer(instance=queryset, many=True)return Response({'code':200,'msg':'ok','data':res.data})

Url.py

from . import views
from django.urls import pathurlpatterns = [path("user/",views.userView.as_view())
]

1.序列化器类(Serializer)

from rest_framework import serializers
class userSerializer(serializers.Serializer):username = serializers.CharField()age = serializers.CharField()email = serializers.CharField()

2.序列化器类(ModelSerializer)

from rest_framework import serializers
class userSerializer(serializers.ModelSerializer):class Meta:model = Userfields = '__all__'

postman测试get方法

反序列化

DRF序列化器可以将来自客户端的请求数据(通常是JSON数据)转换为Python对象,以便在视图中进行处理。

from api.models import User
from  api.models import userSerializer
class userView(APIView):def post(self,request):# 反序列化serializer = userSerializer(data=request.query_params)# 如果验证成功if serializer.is_valid():serializer.save()return Response({'code': 200, 'msg': 'ok'})else:return Response({'code': 201, 'msg': 'error'})

postman测试post方法

http://www.lryc.cn/news/237847.html

相关文章:

  • Flutter:多线程Isolate的简单使用
  • SAP的一些当说不说的常识
  • Java运行时数据区和常用指令
  • hdfsClient_java对hdfs进行上传、下载、删除、移动、打印文件信息尚硅谷大海哥
  • 【前端学java】语法练习-工具类的封装(13)
  • Git 基本操作
  • Oracle-分析函数(累计求和,排序等)
  • 4本期刊被踢!11月SCI/SSCI目录已更新
  • JS中Cookie的基本使用
  • 关闭windows防火墙命令
  • excel-gen.js 导出excel 功能
  • 键鼠自动化2.0展示
  • html主页框架,前端首页通用架构,layui主页架构框架,首页框架模板
  • SDWAN厂家排名
  • 【STM32】CRC(循环冗余校验)
  • 04.webpack中css的压缩和抽离
  • Vue 3 和 Spring Boot 3 的操作流程和执行步骤详解
  • 获取所有非manager的员工emp_no
  • STM32存储左右互搏 SPI总线FATS文件读写FLASH W25QXX
  • Sentinel 熔断规则 (DegradeRule)
  • 嵌入式Linux开发面试题和答案
  • Linux安装Mysql详细教程(两种安装方法)
  • 用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制商业文案助手
  • redis---非关系型数据库
  • Java WebSocket 获取客户端 IP 地址
  • 【HarmonyOS】低代码平台组件拖拽使用技巧之页签容器
  • Linux fork和vfork函数用法
  • Oracle Data Redaction和Oracle Data Pump
  • python django 小程序图书借阅源码
  • CI/CD --git版本控制系统