Date | Desc | |
---|---|---|
2020.07.02 | 文檔創建 | |
- | ||
- | ||
- | ||
- | ||
- | ||
- |
背景:隨着學習Flask的不斷深入,我決定通過從零開始,開發一個測試平臺作爲練手項目,以此來鞏固加深學習成果。
經過考慮,最終決定項目將採用前後端分離的方式,接口使用Flask框架開發,代碼整體採用 hybird
風格。目前的項目結構如下,雖然還很不完整,但是隨着開發的不斷深入,項目結構將會逐漸地補充完善,我也會在本文中不斷更新記錄。
autoline/
- api/ # 資源接口
- external/ # 外部腳本
- logs/ # 日誌根目錄
- models/ # 模型類
- schemas/ # ORM序列化/反序列化類
- test/ # 單元測試
- utils/ # 通用方法
__init__.py # 工廠函數
code_enum.py # api響應狀態碼枚舉類
config.py # 項目配置類
extensions.py # flask擴展類實例化
.env # 存放敏感信息(如數據庫URI,SECRET_KEY等)
.flaskenv # 存放和flask相關的公開環境變量(如FLASK_APP、FLASK_CONFIG等)
.gitignore
Pipfile # 項目依賴
Pipfile.lock
雖然Flask RESTful 開發相關的 extensions 有不少,但是原生Flask對 RESTful 的支持已經做的很好。在我的項目中,剛開始開發接口時曾使用flask-restful
,但是通過一段學習和使用後,我還是覺得flask.views
原生的MethodView
更爲方便,所以後續我重寫了接口,捨棄了flask-restful.
Pipfile中存放的是項目中使用到的依賴, 後續隨着開發的深入,我會持續進行更新,目前內容如下:
[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
verify_ssl = true
name = "tsinghua"
[dev-packages]
watchdog = "*"
[packages]
flask = "~=1.1.2"
jinja2 = "*"
python-dotenv = "~=0.10.3"
python-jenkins = "~=1.6.0"
flask-sqlalchemy = "~=2.4.1"
faker = "~=4.0.0"
pymysql = "~=0.9.3"
flask-httpauth = "~=3.3.0"
flask-cors = "~=3.0.8"
requests = "*"
sentry-sdk = {extras = ["flask"],version = "*"}
flask-marshmallow = "~=0.13.0"
marshmallow-sqlalchemy = "~=0.23.1"
【To Be Continued...】