zoukankan      html  css  js  c++  java
  • 学习笔记-Python-Django REST Framework-安装配置、序列化器

    # Django REST Framework
    # 1、REST
    - 前后端分离
    - API(ApplicationProgrammingInterface)应用程序接口
    - 为了应对千变万化的前端需求
    - REST:Representational State Transfer 表述性状态迁移
    - 2000年 Roy Fielding博士论文中提出的一种软件架构风格
    - RESTful:遵守REST规范的技术设计的软件可以成为RESTful
    - REST规范
    - URL代表一个资源,一个资源应该是一个名词
    - 动词由HTTP的methode方法提供
    - 增删查改对应POST、DELETE、GET、PUT
    - URL应该包 含版本信息,版本信息也可以放在HTTP协议中,推荐放在URL中
    - 过滤信息,使用URL的参数
    - 返回值:每一个返回代码都有具体特定含义
    - 返回格式:推荐固定具体格式
    - DjangoRestFramework,基于django的一个扩展
    - 安装:pip install djangorestframework
    - 版本问题:
    djangorestframework的version3.7版本是基于django的1.xx版本的
    djangorestframework的version3.7之后的版本是基于django的2.xx版本的
    django_filter依赖djangorestframework3.7版本
    - DRF的主要任务
    - 案例T1xyDRF
    - 1、django-admin startproject T1xyDRF
    - 2、python manage.py startapp case01
    - 3、pip install djangorestframework==3.7
    - 4、在settings里的INSTALLED_APPS中添加rest_framework和case01
    - 5、配置urls
    - 先导入from rest_framework import routers
    - 创建实例router = routers.SimpleRouter()
    - urlpatterns列表中添加url(r'^api/', include(router.urls))
    - 创建三个模型:Student, Teacher, ClassRoom
    - 在app里创建serializers.py文件,也就是序列化器
    - 创建视图集
    - 序列化
    - 把系统运行中的一些实例等转换成一种可直接表示出来的格式,用来保存、传输等
    - 反序列化:序列化的反操作
    - 序列化和反序列化对于DRF中
    - 实验步骤
    - 创建project SerDRF
    - 创建app MySer
    - settings
    - serializers的类型的参数
    - rend_only:仅用于序列化输出
    - write_only:反序列化输入
    - required:反序列化时必须输入,默认True
    - allow_null:允许传入None
    - validators:使用验证器
    - 创建serializeros对象/使用
    - 构造方法
    Serializer(instance=None, data=empty, **kwarg)
    - 反序列化
    - 验证
    - is_valid():
    - 数据是否合法,返回booleam
    - 在使用从外部传入的数据之前,必须使用此函数,来确认数据是否经过验证
    - 如果验证失败,返回数据错误异常
    - validated_data:
    - 经过验证后的数据,存入此结构

    
    

    
    
  • 相关阅读:
    重构与单元测试
    10个现代的软件过度设计错误
    连接ORACLE数据库,是否必须要安装oracle客户端
    关于区块链
    为什么K8s会成为主流?
    Devops K8s
    关于UDP协议
    OO第四单元总结
    OO第三单元总结--根据JML写代码
    面向对象电梯系列总结
  • 原文地址:https://www.cnblogs.com/Cloudloong/p/10191594.html
Copyright © 2011-2022 走看看