Flask基本项目结构

简单易上手的flask任务模板

基于之前接触的一些flask的开发,这里做一个简单的结构模板。

目录结构

Project name/  # 项目名
├── deploy # docker/k8s 等配置文件
├── data # 数据存放
├── Project name  # 应用名
│   ├── __init__.py  # 初始化程序,用来注册蓝图
│   ├── config.py  # 配置信息
│   ├── handlers  # 接口代码
│   └── utils  # 逻辑代码
├── test # 测试文件
├── .gitignore # git 信息
├── requirements.txt # 相关依赖
├── README.md # 项目文档
└── manage.py  # 启动程序

示例

这里做一个简单的示例,实现一个简单的接口功能。后续会增加接口的功能。

定义接口
在handlers里新建img_api.py

from flask import Blueprint

img_tansfrom = Blueprint('img_transform',__name__)

@img_tansfrom.route('/img/index',methods=['GET'])
def index():
    return 'Index'

这里看到定义了一个简单的index的接口,访问成功会返回index。
注册
在handlers里创建_init_.py,注册蓝图

from img_transform.handlers.img_api import img_tansfrom

def init_app(app):
    app.register_blueprint(img_tansfrom)

在project目录下 创建_init_.py,创建app

from flask import Flask
from img_transform import handlers

def create_app():
    app = Flask(__name__)
    register_extensions(app)
    return app

def register_extensions(app):
    handlers.init_app(app)

运行
修改manange.py

from img_transform import create_app

app = create_app()

if __name__ =='__main__':
    app.run()

在命令行里运行

python manage.py 

启动服务,访问接口可以查看接口结果。