當前位置:網站首頁>[pytho-flask筆記5]藍圖簡單使用

[pytho-flask筆記5]藍圖簡單使用

2022-07-23 11:13:00bigdata王一


藍圖:
flask自帶的模塊,容器,存儲了一組將來在程序上執行的操作,不能獨立運行。可以有自己的靜態文件和模板等;
類似於django中的子應用;
藍圖多文件使用:容易發生循環導入的問題
除了最基本的三步以外,必須把使用藍圖對象的視圖文件,導入到創建藍圖對象的文件中

藍圖最簡單案例-三步

from flask import Flask,Blueprint
# 藍圖使用步驟
#1 創建藍圖對象
#2 定義藍圖路由
#3 注册藍圖對象
app = Flask(__name__)

#1 創建藍圖對象
bp = Blueprint('bp',__name__)
#2 定義藍圖路由
@bp.route("/users")
def get_user():
    return 'users ..'

@app.route("/")
def index():
    return  "hi"
#3 注册藍圖對象
app.register_blueprint(bp)
if __name__ == '__main__':
    print(app.url_map)
    app.run(debug=True)

多文件藍圖注意import導包死鎖

目錄結構:
在這裏插入圖片描述不能同時互相導入對方的包,就像夾菜倆人一起夾菜,誰也沒夾起來……程序報錯importErro……
多文件在ini的py文件創建藍圖。在類的py文件寫route路由(定義藍圖路由)。在調用的時候注册藍圖。啟動後可以使用

多文件使用,必須把使用藍圖對象的視圖文件,導入到創建藍圖對象的文件中

init.py

from flask import  Blueprint

#創建藍圖
news_bp = Blueprint('news_bp',__name__)

#必須把使用藍圖對象的視圖文件,導入到創建藍圖對象的文件中
from . import views

views.py

from . import  news_bp


@news_bp.route("/news")
def get_news():
    return "news demo .."

@news_bp.route("/user")
def get_user():
    return "user 666"

bluePrint.py

from flask import  Flask,Blueprint


app = Flask(__name__)
from news import news_bp

#注册藍圖對象
app.register_blueprint(news_bp)

@app.route("/")
def index():
    return 'hi'

if __name__ == '__main__':
    print(app.url_map)
    app.run(debug=True)

效果圖:
在這裏插入圖片描述

版權聲明
本文為[bigdata王一]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/204/202207230537302444.html

隨機推薦