个人使用的 Flask
项目开发模板
flask_sqlalchemy
ORM 框架flask_migrate
ORM 数据迁移flask_redis
连接 Redisflask_restx
方便实现RESTFul API
flask_execute
分发Celery
任务, 相关功能使用需要看下 文档flask_testing
更方便的编写单元测试
其他包:
schedule
使用定时任务
包管理使用了 pipenv , 配合 scripts
非常好用
git clone https://github.com/Abyssknight/flask-template YOUR_PROJECT_NAME
- 使用
Pycharm
或其他工具,全局将flask_template
替换为YOUR_PROJECT_NAME
pipenv install --dev
安装项目依赖cp .env.example .env
项目配置项从环境变量读取, 遵守 12factor- 如有必要, 可修改
.env
配置 pipenv run dev
启动开发环境
使用以上步骤就可以将项目启动, 十分方便
由于采用了 pipenv
进行包管理,所以项目的启动都是基于它的:
pipenv run dev
开发环境启动pipenv run prd
生产环境启动pipenv run test
启动单元测试pipenv run cron
启动定时任务pipenv run celery
启动celery
进程
以上命令相当于 Alias
, 本质上还是使用 Flask
基于 Click
实现的命令行功能
flask --help
查看命令帮助flask shell
进入shell
上下文flask routes
查看所有路由flask initdb
初始化数据库表,如果没有则创建
项目中的 Dockerfile
基于 python:3.8-alpine
采用 两阶段构建
, 最终生成的镜像很小, 拉取时更快; docker-compose
用于简单编排