社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

马哥Linux运维 • 7 年前 • 803 次点击  


题图.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



————开班喜讯————

温馨提醒:马哥教育Python自动化开发班将于8月28日在北京海淀上地开班,小班制魔鬼式授课,钜惠限时抢位中。

马哥教育2017年Python自动化运维开发实战班,马哥联合BAT、豆瓣等一线互联网Python开发达人,根据目前企业需求的Python开发人才进行了深度定制,加入了大量一线互联网公司:大众点评、饿了么、腾讯等生产环境真是项目,课程由浅入深,从Python基础到Python高级,让你融汇贯通Python基础理论,手把手教学让你具备Python自动化开发需要的前端界面开发、Web框架、大监控系统、CMDB系统、认证堡垒机、自动化流程平台六大实战能力,让你从0开始蜕变成Hold住年薪20万的Python自动化开发人才

课程咨询请长按即可咨询


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/czH1M2Q5lY
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/3120
 
803 次点击