project/ app/ # 整个程序的包目录 static/ # 静态资源文件 js/ # JS脚本 css/ # 样式表 img/ # 图片 favicon.ico # 网站图标 templates/ # 模板文件 common/ # 通用模板 errors/ # 错误页面 user/ # 用户模板 posts/ # 帖子模板 email/ # 邮件发送 views/ # 视图文件 models/ # 数据模型 forms/ # 表单文件 config.py # 配置文件 email.py # 邮件发送 extensions.py # 各种扩展 migrations/ # 数据库迁移目录 tests/ # 测试单元 venv/ # 虚拟环境 requirements.txt # 依赖包的列表 manage.py # 项目启动控制文件
create_app()函数是程序的工厂函数,用处是把创建程序实例的过程转移到它里面
工厂函数在app包的构造文件(init.py)里定义,在__init__.py里创建的扩展对象(bootstrap = Bootstrap()
mail = Mail() moment = Moment() db = SQLAlchemy())可以在工厂函数里调用init_app()完成初始化过程。