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

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 格式的数据和状态码(展示)

result:

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

school_post.png

code:

code

下一篇根据这个项目进行讲解如何进行测试:并讲解python 测试。

unittest

mock

tox

coverage

nose

作者:谢小路

来源:http://www.jianshu.com/p/2584bd0d4f19

*声明:推送内容及图片来源于网络,部分内容会有所改动,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

- END -

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181124B1O7UJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券