DRF框架(django rest framework)

1,DRF框架?

  Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具。通常简称为DRF框架 或 REST framework。

  Django REST framework 可以帮助我们大大提高REST API  的开发速度,目的就是简化代码

2,序列化和反序列化

  序列化:将程序中的一个数据结构类型转换为其他格式(字典、JSON、XML等),例   如 Django中的模型类对象转换为字典或JSON字符串,这个转换过程我们称为序列化。

  反序列化:将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串或字典转换保存为Django中的模型类对象,这个过程我们称为反序列化

  序列化(侠义):将对象转为字典,json 

  反序列化(侠义):将字典,json转换为对象,json

3,Django REST framework 的使用:

  1,下载安装:pip install djangorestframework  

  2,settings中进行注册  INSTALL_APPS     ‘rest_framework’

  3,   DRF 框架序列化:只能将对象转换为字典,不能转换为json

  4,DRF框架反序列化:数据校验,数据保存(新增和更新)  

4,使用序列化器必须先定义序列化器:

  序列化器的定义:

    class <序列化器类名> (serializer.Serailizers):

        字段 = serializers.字段类型(参数)

5,序列化功能:

  1,创建序列化器类对象  serializer = 类名(user) (把对象放入类中)

  2,获取序列化后的数据  res = serializers.data()    print(res)

6,反序列化功能:

  1,创建序列化器对象   serializer = 类名(data={xx}) 把前端传入的字典放入其中

  2,进行参数校验 serializer.is_valid   返回true 或 false  代表校验成功和失败

  3,获取校验失败的错误信息:serializers.errors   如果成功返回的是空字典

  4,获取校验后的数据:serializers.validated_data   返回的是校验成功后的有序字典orderdict

7,序列化器使用的总结:

  1,无论是序列化还是反序列化都需要创建序列化器对象

    serializers = UserSerializer(instance = none,data={})

    序列化时,将序列化对象传给intsance

    反序列化时,将字典传给data

8,序列化器类的通用参数:

  reade_only (该字段只在序列化时使用设为true)

  write_only     (该字段只在序列化时使用设为true)

  read_only  和 write_only 不指定时为false ,表示序列化和反序列化时都使用

  required 只争对反序列化时使用,默认为true,代表反序列化时必须传入该字段参数,

  default 设置序列化或反序列化时的默认值  

  max_lengthmin_length:设置反序列化时的最大长度和最小长度

  max_valuemin_value:设置反序列化时的最大值和最小值

  

猜你喜欢

转载自www.cnblogs.com/wjun0/p/11723635.html