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

题图.png

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


原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-08-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java进阶

zookeeper的zab协议工作原理之 崩溃恢复模式

4337
来自专栏个人技术分享

Android module发布管理插件

最近对发布Android SDK到jcenter的流程有点想法,历经一点点艰辛,做了一款Android Studio插件,希望能够使发布流程更简单友好。

1810
来自专栏腾讯移动品质中心TMQ的专栏

接口测试理论与实践 ——PiTest + GT双管齐下,专治各种接口测试

最近做接口测试比较多,这里做一个小小的总结,也可以帮助接口测试的同学快速上手。 首先,在做接口测试前,我们来想一想: 接口测试是什么?——含义 接口测试测什么...

2587
来自专栏杂烩

elasticsearch2.3.1 集群安装

    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elastic...

793
来自专栏java工会

java网站页面静态化方案

在大型网站中,如京东和当当商品详情界面,看到的页面基本上是静态页面。为什么都要把页面静态化呢?把页面静态化,好处有很多。例如:访问速度快,更有利于搜索引擎收录等...

1904
来自专栏王清培的专栏

ElasticSearch大数据分布式弹性搜索引擎使用

阅读目录: 背景 安装 查找、下载rpm包 、执行rpm包安装 配置elasticsearch专属账户和组 设置elasticsearch文件所有者 切换到el...

79210
来自专栏小狼的世界

Git的深入理解与GitHub托管服务的使用

许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间进行区别。这么做的唯一好处就是简单,坏处也不少:有时候会混淆所在的工作目录,一旦弄错...

1443
来自专栏IMWeb前端团队

从零开始学web安全(1)

本文作者:IMWeb 刘志龙 原文出处:IMWeb社区 未经同意,禁止转载 一直对web安全很感兴趣,却一直只是略懂一点。决定从现在开始学起web安全...

1968
来自专栏IT技术精选文摘

一文了解Zookeeper

相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 是个什么东西吗?如果别人/面试官让你给他讲讲 ZooKeeper 是个什么东西...

1733
来自专栏风中追风

分布式进阶__zookeeper的zab协议工作原理之 崩溃恢复模式

上篇 zookeeper的zab协议工作原理之 原子广播 介绍了 zookeeper 广播的原理。

36610

扫码关注云+社区

领取腾讯云代金券