Django REST Framework的序列化器是什么?
# 转载请留言联系
用Django开发RESTful风格的API存在着很多重复的步骤。详细可见:https://www.cnblogs.com/chichung/p/9933861.html
过程往往都是,(1)把到前端请求的过来的json字符串,然后通过json.loads转换为字典,字典在转换为对象,保存在数据库。
(2)返回的时候呢,都是先把对象查询出来,然后转换为字典,再通过JsonResponse转换为json字符串并且返回给前端。
接口的开发,基本就是在重复这两个动作,而且这两个动作语句特别多,如果有一样东西可以简单地完成这两个动作就好了。还真的有,那就是Django REST Framework(简称DRF)!
DRF的环境安装与配置
安装:
pip install djangorestframework
配置:
在settings.py:
INSTALLED_APPS = [
...
'rest_framework',
]
序列化器的序列化与反序列化
那么,DRF是怎样实现这种操作的呢?就是用序列化器。
首先要明白两个概念,序列化与反序列化:
序列化:将程序中的一个数据结构类型转换为其他格式(JSON、XML等),例如:将Django中的模型类对象装换为JSON字符串,这个转换过程我们称为序列化。简单来说:
对象
->
字典
->
json
反序列化:将其他格式(JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象,这个过程我们称为反序列化。简单来说:
json
->
字典
->
对象
我们开头讲的第(1)种动作,就可以用反序列化完成。第(2)种动作,就可以用序列化完成。
序列化与反序列化的作用
1.序列化的作用:
1.
对象
->
字典
使用Django框架查询部门数据:
用序列化查询部门数据:(简化上图的步骤2)
2.反序列化的作用:
1.
json
->
字典
->
对象
2.校验参数的合法性(可以校验传过来的json转换成字典后,能否满足数据库的字段约束)
3.校验通过后,可以在数据库中保存或修改数据
使用Django框架新增或修改部门:
使用反序列化新增或修改部门:(简化上图的步骤3、4)
最新文章
- OpenGL ES 3.0: 图元重启(Primitive restart)
- Asp.Net MVC<;二>; : IIS/asp.net管道
- (转载)struts2的驱动模型
- ios-cocos2d游戏开发基础-CCLayer和Touch事件-开发笔记
- I.MX6 Android i2c-tools porting
- Win7下VS2010使用STLPort 和boost1.56.
- QT不让windows休眠的方法
- iOS中 WGAFN_网络监控 技术分享
- 新鲜出炉的一套Java面试题
- 网站建设部署与发布--笔记3-部署Nginx
- FastJson 自定义Serialize、Parser
- Ng第十五课:异常检测(Anomaly Detection)
- Linux 网络监控工具 ss
- Bug Bounty Reference
- Qt编写的RTSP播放器+视频监控(android版本)
- centos7 + mysql5.7 tar包解压安装
- AS3 在不规则区域内拖动
- yum指令常用参数说明
- 使用cxf调用webservice
- 关于ng-if的理论性知识你了解多少?
热门文章
- Gitlab自动触发Jenkins构建项目
- ubuntu 14.04 安装opencv 3.0 测试
- [剑指Offer] 16.合并两个排序链表
- Delphi GetCurrentDir 获取当前文件夹
- XJOI NOIP模拟题2
- 【bzoj1176】[Balkan2007]Mokia/【bzoj2683】简单题 CDQ分治+树状数组
- 感觉自己应该重新读一次Javascript
- Codeforces Round #520 (Div. 2) A. A Prank
- MAC地址的介绍(单播、广播、组播、数据收发)
- 精通javascript笔记(智能社)——数字时钟