通过本文章,可能获得以下能力
python 异步关键词 async 的用法
python aiphttp 异步框架
sqlarchemy 对数据的支持
python mysql 异步操作
阅读概览
环境
依赖
项目结构
项目主要内容
环境
python 3.6 or highter
mysql 5.2.5 (未使用其他版本测试,感兴趣的话可以试着更换 mysql 版本,查看其兼容性)
设备 Mac
开发工具 pycharm
依赖包
- aiomysql==0.0.20
- ujson==1.35
- SQLAlchemy==1.3.8
- shortuuid==0.5.0
- aiohttp==3.5.4
- PyYAML==5.3.1
包安装
pip install aiohttp
pip install aiomysql
pip install sqlalchemy
pip install ujson
pip install PyYAML
pip install shortuuid
项目目录
根目录为配置文件及源码
.
├── README.md
├── config
│ ├── __init__.py
│ ├── dev.yml
│ └── setting.py
├── requirements.txt
└── src
├── __init__.py
├── common
│ ├── __init__.py
│ └── mysql.py
├── constants
│ ├── __init__.py
│ └── const.py
├── model
│ ├── __init__.py
│ ├── base_option.py
│ └── student.py
├── routes.py
├── server.py
├── service
│ ├── __init__.py
│ └── student_svc.py
├── utils
│ ├── __init__.py
│ ├── request_utils.py
│ ├── response_utils.py
│ └── time_utils.py
└── views
├── __init__.py
├── status.py
└── student_api.py
项目内容
启动入口 server.py
# server.py
from aiohttp import web
from config.setting import config
from src import create_app
app = create_app()
if __name__ == "__main__":
web.run_app(a