前几篇文章简单的介绍了 Flask 各个组件 App、Blueprint、RESTful,以及各个组件的使用方法,现在第一道坎是如何将这些组件组合在一起使用
PS:App 就是最原始的 Flask 的应用,我统一将这个应用叫做 App,这是为了方便以后集成而人为定义的规范
首先,我们按照最原始创建 App 的方法创建应用
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from flask import Flask, Blueprint
from flask_restplus import Resource, Api
# 创建 app
app = Flask(__name__)
然后,创建蓝图
# 创建蓝图
blueprint = Blueprint('api', __name__)
再然后创建 api
# 创建 api
api = Api(blueprint)
# 视图类
class DemoView(Resource):
def get(self):
return {'message': 'get'}
def post(self):
return {'message': 'post'}
最后,注册蓝图
# 注册蓝图
app.register_blueprint(blueprint)
注册路由
# 注册路由
api.add_resource(DemoView, '/')
if __name__ == '__main__':
app.run(debug=True)
根据之前的介绍,Blueprint 并不是一个完整的应用,它不能独立于应用运行,而必须要注册到某一个应用中。在之前的例子中是注册到 app 中,在这里是注册到 api 中
注册的顺序是先将蓝图绑定到 api 中,这时 api 既有自身的功能,还有蓝图的功能,这是创建 api,蓝图还需要注册到 app 中,最后使用 api 进行路由注册
注册蓝图和路由的顺序不能反,因为蓝图绑定到 api 中了
参考文章:https://blog.csdn.net/yunlibiqing/article/details/102458045?utm_source=app