后端api接口项目模版
==================
#### 执行步骤
```
# 安装模版库
pip install cookiecutter -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

# 创建模版项目
cookiecutter ssh://git@gitlab-inet.zkyouxi.com:2222/chenzhaokang/webapi-cookiecutter.git

# 创建项目之后进入到项目中安装python第三方库
cd project_name
pip install -r requirement.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

# 安装完成就可以直接跑起项目
flask run
```



#### 项目结构
``` python
.
├── docs                            # 文档目录
├── src
│   ├── action                      # 逻辑代码目录(当视图函数太大的时候,可以把部分逻辑代码,放到action里面)
│   │   └── __init__.py
│   ├── cache                       # 缓存目录
│   │   └── __init__.py
│   ├── config                      # 配置目录
│   │   ├── __init__.py
│   │   ├── dev.py                  # 开发环境配置
│   │   ├── test.py                 # 测试环境配置
│   │   └── product.py              # 生产环境配置
│   ├── models                      # 数据库模型目录
│   │   └── __init__.py
│   ├── schema                      # marshmallow输出格式
│   │   └── __init__.py
│   ├── services                    # 服务接入目录(网关服务接入时可以在这里定义服务)
│   │   └── __init__.py
│   ├── task                        # 消息推送代码目录
│   │   └── __init__.py
│   ├── utils                       # 通用方法目录
│   │   └── __init__.py
│   ├── views                       # 视图文件目录
│   │   ├── __init__.py
│   │   └── index.py
│   ├── validate                    # 接口参数验证
│   │   ├── __init__.py
│   │   └── base.py
│   ├── __init__.py                 # flask初始化文件
│   ├── constants.py                # 常量定义文件 
│   ├── extensions.py               # 拓展库定义文件
│   └── urls.py                     # 路由定义文件
├── tests                           # 测试代码目录
│   └── __init__.py
├── app.py
├── build.sh                        # docker打包命令脚本
├── Dockerfile
├── docker-compose.yml              
├── gunicorn.py
├── README.md
└── requirement.txt
```