前幾篇文章簡單的介紹了 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