zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    20145339《网络对抗》后门原理与实践
    20145339顿珠达杰 《网络对抗技术》 逆向与Bof基础
    20145339《信息安全系统设计基础》课程总结
    20145339《信息安全系统设计基础》第14周学习总结
    20145339《信息安全系统设计基础》第12周学习总结
    国考准备
    20145339《信息安全系统设计基础》第十一周学习总结
    git安装
    20145339顿珠《信息安全系统设计基础》第十周学习总结
    第十五周学习总结
  • 原文地址:https://www.cnblogs.com/chichung/p/9936114.html
Copyright © 2011-2022 走看看