最近使用Flask寫一個測試平臺,後端使用flask框架,因爲是菜鳥,所以遇到很多坑,今天就是第一個坑,使用藍圖來註冊實現多個模塊集成在一個入口
先看看我的demo的目錄
- demo1 package包含一個demo1的模塊
- demo2 package包含一個demo2的模塊
- 最外層包含一個manager.py的啓動文件
demo1的代碼:
from flask import Blueprint, Flask
app = Flask(__name__)
demo1_test = Blueprint("login", __name__)
@demo1_test.route("/demo1")
def test():
return "this is demo1"
demo2的代碼:
from flask import Blueprint, Flask
app = Flask(__name__)
demo2_test = Blueprint("case", __name__)
@demo2_test.route("/demo2")
def test():
return "this is demo2"
manager.py的代碼:
# encoding:utf-8
# !/usr/bin/env python
from flask import Flask
from demo1.damo1 import demo1_test
from demo2.demo2 import demo2_test
app = Flask(__name__)
app.register_blueprint(demo1_test)
app.register_blueprint(demo2_test)
if __name__ == '__main__':
print(app.url_map)
app.run()
然後先看結果,執行manager.py文件
在網頁鏈接輸入
我們可以看見就可以把2個路由到一個啓動文件了
其實藍圖的原理很簡單:
- 在各個view模塊初始化一個藍圖
- 在啓動文件去註冊藍圖,再運行就可以使用了
官網地址:https://dormousehole.readthedocs.io/en/latest/blueprints.html