Python小项目:快速开发出一个简单的学生管理系统

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

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

包括:

  • 学校信息的管理
  • 教师信息的管理
  • 学生信息的管理

根据Api请求的动作:

  • POST: 增加信息
  • GET: 查询信息
  • PUT: 更新信息
  • DELETE: 删除信息

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

Python小项目:快速开发出一个简单的学生管理系统_第1张图片
用Python小项目:快速开发出一个简单的学生管理系统

发送curl 命令:

用Python小项目:快速开发出一个简单的学生管理系统

返回结果:

Python小项目:快速开发出一个简单的学生管理系统_第2张图片
用Python小项目:快速开发出一个简单的学生管理系统

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

整个流程主要包括:

  • restful api 设计
  • 数据表设计
  • 开发:目录的结构、一致性
  • 结果展示

1. Restful API 设计

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

Python小项目:快速开发出一个简单的学生管理系统_第3张图片
用Python小项目:快速开发出一个简单的学生管理系统

POST:

用Python小项目:快速开发出一个简单的学生管理系统
用Python小项目:快速开发出一个简单的学生管理系统

GET:

用Python小项目:快速开发出一个简单的学生管理系统
用Python小项目:快速开发出一个简单的学生管理系统

PUT:

用Python小项目:快速开发出一个简单的学生管理系统
用Python小项目:快速开发出一个简单的学生管理系统

DELETE:

用Python小项目:快速开发出一个简单的学生管理系统
用Python小项目:快速开发出一个简单的学生管理系统

2. 数据库设计

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

School:

Python小项目:快速开发出一个简单的学生管理系统_第4张图片
用Python小项目:快速开发出一个简单的学生管理系统

3. 开发

目录结构:考虑两个因素

  • 耦合性
  • 扩展性

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

Python小项目:快速开发出一个简单的学生管理系统_第5张图片
用Python小项目:快速开发出一个简单的学生管理系统
Python小项目:快速开发出一个简单的学生管理系统_第6张图片
用Python小项目:快速开发出一个简单的学生管理系统

数据库API:

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

用Python小项目:快速开发出一个简单的学生管理系统

以add 实例:

Python小项目:快速开发出一个简单的学生管理系统_第7张图片
用Python小项目:快速开发出一个简单的学生管理系统

flask_api:

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

Python小项目:快速开发出一个简单的学生管理系统_第8张图片
用Python小项目:快速开发出一个简单的学生管理系统

以POST示例:

Python小项目:快速开发出一个简单的学生管理系统_第9张图片
用Python小项目:快速开发出一个简单的学生管理系统

4. 工具

restful api 发送请求命令工具:

  • POSTMAN: chrome 浏览器插件
  • RESTClient: 火狐浏览器插件
  • 服务器端:用curl 命令吧

POSTMAN 示例图:

Python小项目:快速开发出一个简单的学生管理系统_第10张图片
用Python小项目:快速开发出一个简单的学生管理系统

postman.png

5. 结果展示

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

用Python小项目:快速开发出一个简单的学生管理系统

result:

Python小项目:快速开发出一个简单的学生管理系统_第11张图片
用Python小项目:快速开发出一个简单的学生管理系统

数据库 school 表中插入这条数据,并把插入的数据信息展示出来。

Python小项目:快速开发出一个简单的学生管理系统_第12张图片
用Python小项目:快速开发出一个简单的学生管理系统

school_post.png

code:

code

Python小项目:快速开发出一个简单的学生管理系统_第13张图片
用Python小项目:快速开发出一个简单的学生管理系统

你可能感兴趣的:(Python小项目:快速开发出一个简单的学生管理系统)