Flask测试与部署
1. 蓝图 之前的学习都是在单个文件中定义数据模型类、表单模型类、视图函数、路由等,但是对于大型项目来说将所有代码放在一个文件会让代码可读性变差且难以维护。 真正的项目应根据具体不同的功能,划分成不同的模块,降低各功能模块之间的耦合度 使用模块导入解决耦合问题: - 即模型类和主程序放在一个模块内、视图函数放在一个模块内(导入app对象):可以降低耦合度,但是不能解决路由映射问题 - 模块导入出现循环导入问题(死锁)----》推迟一方的导入,让另一方先完成导入 - 使用app.route()返回装饰器解决:视图函数只定义不进行路由绑定,在主程序导入视图函数后使用app.route()进行路由绑定 蓝图:用于实现单个应用的视图、模板、静态文件的集合,是一个模块化处理的类(类似于Django中的一个应用模块的所有内容) 简单来说,蓝图就是一个独立模块的抽象代表,可以用来保存在应用对象上执行的操作,主要用来实现客户端请求和URL相互关联的功能 蓝图使用步骤: 1. 创建蓝图对象:必须指定两个参数:蓝图的名字及蓝图所在的模块(蓝图对象用来在视图函数中注册路由使用;蓝图名字指向当前模块) 2. 使用蓝图注册路由绑定视图函数:蓝图对象.route(rules, **args)(暂时存储在蓝图对象的defered_functions列表中) 3. 在主程序app对象上注册蓝图