Day04

# Day04



### MTV?

- 优点
  - 一个程序猿可以快速实现站点开发
- 缺点
  - 想实现前端很漂亮
  - 或是存在特效
  - 很难实现



### 解决方案

- 前后端分离
  - 后端
    - 数据
    - 业务逻辑
    - 数据展示? 
      - 给数据
  - 前端
    - 界面展示
    - 从后端请求数据
- 分离
  - 后端工作量降低了
    - 后端不用再写模板了
    - 改为数据包装
      - JSON
  - 前端
    - 标准工作
    - Web
    - Android
    - IOS
    - WP
    - Windows
    - Mac
- 开发模型
  - POP
  - OOP
  - AOP
  - IOP
    - 面向接口开发
      - 接口指的就是我们对接的通道
        - Client
        - Server
      - 接口组成
        - 地址
          - http://localohsot:8000/users/
        - 请求方式
          - POST
        - 输入(请求参数)
          - username
          - password
        - 输出(返回结果)
          - 用户信息
          - 用户令牌



### Django开发标准接口

- urls
  - 没有改变
- views
  - 有改变
  - 不再渲染模板
  - 将数据转换成JSON格式传输
- models
  - 没有改变
- templates
  - 直接干掉





### 实现图书管理接口

- 图书创建
- 图书列表获取



### requests

- 请求库



### Client-Server

- Server
  - urls
  - views
  - models
- Client
  - code
    - requests
      - requests.get
        - url
      - requests.post
        - url
        - data -> dict
    - ajax
      - $.get
        - url
        - callback -> function(data)
      - $.post
        - url
        - data -> dict
        - callback -> function(data)



### 和前端协作

- 接口文档
- 主要由后端写
  - 前端调用
- 接口文档工具



### RESTful API

- 到底了是什么?
  - URI代表资源
    - 每个URI代表一类资源
  - 客户端和服务器传输的内容叫做表现层
  - 客户端通过不同的请求方式来使表现层发生状态转换



### RESTApi

- 难点?
  - 对象和字典的互相转换
- DRF
  - Django-REST-Framework
- 序列化模块
  - Serializers
    - 序列化与反序列化
    - 字典和对象的互相转换

### 抽象方法

- 和普通方法好像一致
- 没有方法体
- 直接抛出没有被实现的异常,错误
  - NotImplementedError
- 意味着这个方法必须被子类实现
  - 必须被重写



### homework

- 自己安装POSTMAN
- 自己编写RESTful的HelloWorld
  - 全都使用RESTful中的东西
    - 路由
    - 视图函数
  - 序列化(已经讲过)
  - 模型 没有变更
- <https://www.django-rest-framework.org/tutorial/quickstart/>
- <https://q1mi.github.io/Django-REST-framework-documentation/tutorial/quickstart_zh/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值