1、项目结构
-app - static文件夹 - templates文件夹 - views文件夹 - 蓝图的视图 user - __init__.py(from .user import user_bp 注册蓝图,使用懒加载,init_view(app)) - models - ext.py 初始化扩展组件 db = SQLAlchemy() init_ext(app) => db.init_app(app=app) 数据库迁移 - settings.py 配置文件(类继承) envs = {'develop': Develop} - __init__.py, create_app() => init_view(app) init_ext(app) app.config.from_object(envs.develop) 数据库迁移 -manager.py(flask-script) app=create_app() manager = Manager(app)
2、create_app()
def create_app(): app = Flask(__nmae__) # 加载settings文件 # 加载扩展库 # 加载路由
3、另一种目录结构
- TEST - App - models.py - views.py - __init__.py init_view(app) 初始化路由(注册蓝图) - TEST - __init__.py create_app() 创建app - ext.py init_ext(app) 初始化第三方库 - settings.py - static - templates - manager.py