蓝图之前我们通过代码了解了Flask的一些基本用法,现在有个问题,要做的功能越来越多,路由该不该放?在运行文件中呢?比如我们在不同的文件中定义了一些路由。如果我们要访问它们,我们是否需要打开许多不同的服务?Flask中提供了蓝图,专门用于Flask的模块化。Flask使用蓝图的概念来制作应用程序组件并支持应用程序内部或跨应用程序的通用模式。蓝图可以极大地简化大型应用程序的工作方式,并为Flask扩展提供一种在应用程序上注册操作的集中方式。Blueprint对象的工作方式类似于Flask应用程序对象,但它实际上不是应用程序。相反,它是应如何构建或扩展应用程序的蓝图。总之,蓝图可以让我们的程序更加模块化,不同功能的路由可以放在不同的模块下,最后集中到启动类中。首先新建一个flask工程文件,创建文件结构如下图:':app=Flask(__name__)app.register_blueprint(tag_bp,url_prefix='/tag')app.register_blueprint(movie_bp,url_prefix='/movie')app.run(port=9099)模块一:所有路由和视图函数oftags还是分开写在一个文件里,这里命名为view.pyfromflaskimportBlueprinttag=Blueprint('tag',__name__)@tag.route('/')defindex():return'ok'@tag.route('/add/')defadd():return'tagadd'模块2:电影的所有路由和视图函数仍然写在一个单独的文件中,这里命名为view.pyfromflaskimportBlueprintmovie=Blueprint('movie',__name__)@电影。route('/')defindex():return'ok'@movie.route('/add/')defadd():return'movieadd'运行结果
