专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
运维  ·  再见,CDN 巨头:Akamai 宣布 ... ·  2 天前  
51好读  ›  专栏  ›  马哥Linux运维

Python: 实际项目中抽象出的小项目设计

马哥Linux运维  · 公众号  · 运维  · 2018-11-24 22:00

正文


Python: 一周笔记

本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」。

这个系统主要完成下面增删改查的功能:

包括:

  • 学校信息的管理

  • 教师信息的管理

  • 学生信息的管理

根据Api请求的动作:

  • POST:  增加信息

  • GET: 查询信息

  • PUT: 更新信息

  • DELETE: 删除信息

可以以下面一个简单的实例看这个系统完成什么样的工作:


发送curl 命令:

返回结果:

其他的动作类似的发送api 请求,完成相应的动作,真实的项目往往后加上数据库的操作。

整个流程主要包括:

  • restful api 设计

  • 数据表设计

  • 开发:目录的结构、一致性

  • 结果展示

1. Restful API 设计

主要包括URL 设计和 状态码的设计:

POST:

GET:

PUT:

DELETE:

2. 数据库设计

主要包括:表设计,字段类型等的设计,鉴于篇幅有限只展示School 表:

School:

3. 开发

目录结构:考虑两个因素

  • 耦合性

  • 扩展性

数据库操作和业务操作分开,提供接口:

数据库API:

主要使用sqlalchemy 的增删改查进行封装:

以add 实例:

flask_api:

主要使用flask 定义不同动作的接口:

以POST示例:

4. 工具

restful api 发送请求命令工具:

  • POSTMAN: chrome 浏览器插件

  • RESTClient:  火狐浏览器插件

  • 服务器端:用curl 命令吧

POSTMAN 示例图:


postman.png

5. 结果展示

发送请求(api) --》  数据库增删改查(数据持久化) --》 返回Json 格式的数据和状态码(展示)







请到「今天看啥」查看全文


推荐文章
金融先生MrFinance  ·  大学里最难处的关系是什么?
8 年前
金融先生MrFinance  ·  大学里最难处的关系是什么?
8 年前
爆笑gif图  ·  不是很懂你们碰瓷的~这是哪招啊?
8 年前
儿童摄影引导技巧  ·  各种儿童照拍摄技巧!留住永恒的童真
7 年前