Flask藍(lán)圖學(xué)習(xí)教程
前序
1、藍(lán)圖
在一個(gè)Flask 應(yīng)用項(xiàng)目中,如果業(yè)務(wù)視圖過多,可否將以某種方式劃分出的業(yè)務(wù)單元單獨(dú)維護(hù),將每個(gè)單元用到的視圖、靜態(tài)文件、模板文件等獨(dú)立分開?
例如從業(yè)務(wù)角度上,可將整個(gè)應(yīng)用劃分為用戶模塊單元、商品模塊單元、訂單模塊單元,如何分別開發(fā)這些不同單元,并最終整合到一個(gè)項(xiàng)目應(yīng)用中?
2、藍(lán)圖介紹
在Flask中,使用藍(lán)圖Blueprint來分模塊組織管理。
藍(lán)圖實(shí)際可以理解為是一個(gè)存儲(chǔ)一組視圖方法的容器對象,其具有如下特點(diǎn):
一個(gè)應(yīng)用可以具有多個(gè)Blueprint
可以將一個(gè)Blueprint注冊到任何一個(gè)未使用的URL下比如 “/user”、“/goods”
Blueprint可以單獨(dú)具有自己的模板、靜態(tài)文件或者其它的通用操作方法,它并不是必須要實(shí)現(xiàn)應(yīng)用的視圖和
函數(shù)的
在一個(gè)應(yīng)用初始化時(shí),就應(yīng)該要注冊需要使用的Blueprint
但是一個(gè)Blueprint并不是一個(gè)完整的應(yīng)用,它不能獨(dú)立于應(yīng)用運(yùn)行,而必須要注冊到某一個(gè)應(yīng)用中。
一、創(chuàng)建藍(lán)圖包
因?yàn)樵谝粋€(gè)項(xiàng)目中業(yè)務(wù)較多,可以創(chuàng)建一個(gè)藍(lán)圖包,里面static目錄文件、templates目錄文件,初始化的_init_.py
如圖:

二、使用步驟
1、在初始化__init_.py 文件創(chuàng)建藍(lán)圖
1、_init.py 創(chuàng)建藍(lán)圖
2、其中:static_folder=‘sta’ 是當(dāng)前藍(lán)圖包靜態(tài)文件訪問路徑,template_folder=‘tmp’ 是當(dāng)前藍(lán)圖包templates下目錄的訪問路徑。
3、 要引入當(dāng)前目錄的視圖函數(shù)文件
#這個(gè)文件創(chuàng)建藍(lán)圖
from flask import *
order_bp=Blueprint('order',__name__,static_folder='sta',template_folder='tmp')
#引入視圖函數(shù)
from . import order_func2、創(chuàng)建視圖函數(shù)文件
1、在新建一個(gè)創(chuàng)立視圖函數(shù)的文件
2、 這個(gè)文件要導(dǎo)入建好的藍(lán)圖
#這個(gè)文件創(chuàng)建視圖函數(shù)
#導(dǎo)入藍(lán)圖
from . import order_bp
@order_bp.route('/co')
def test1():
return "hello python"3、調(diào)用問題
1、當(dāng)在應(yīng)用程序需要用到某個(gè)視圖函數(shù)時(shí),可以通過藍(lán)圖進(jìn)行調(diào)用。
2、注意:from order import order_bp 中的order是我自己命名的藍(lán)圖包名字,order_bp是藍(lán)圖名字
3、 url_prefix=‘/order’ 是設(shè)置客戶端(瀏覽器)訪問服務(wù)器的前綴 后面加上訪問視圖函數(shù)的裝飾器。
from flask import Flask
app = Flask(__name__)
#導(dǎo)入藍(lán)圖
from order import order_bp
app.register_blueprint(order_bp,url_prefix='/order')
if __name__ == '__main__':
app.run()客戶端(瀏覽器)訪問路徑展示

4、訪問靜態(tài)文件

總結(jié)
- 在應(yīng)用開發(fā)當(dāng)中要用到功能非常多,以此對應(yīng)的視圖函數(shù)就很多。
- 因此通過創(chuàng)建不同的藍(lán)圖下的不同的視圖函數(shù),可以快速精準(zhǔn)的定位到某個(gè)視圖函數(shù)。
到此這篇關(guān)于Flask藍(lán)圖學(xué)習(xí)教程的文章就介紹到這了,更多相關(guān)Flask藍(lán)圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用Matplotlib繪制三維散點(diǎn)圖詳解流程
matplotlib是基建立在python之上,適用于創(chuàng)建靜態(tài),動(dòng)畫和交互式可視化,通常與數(shù)據(jù)分析模塊pandas搭配使用,用于數(shù)據(jù)的分析和展示,適用于主流的操作系統(tǒng),如Linux、Win、Mac2022-11-11
Python實(shí)現(xiàn)將數(shù)據(jù)庫一鍵導(dǎo)出為Excel表格的實(shí)例
下面小編就為大家?guī)硪黄狿ython實(shí)現(xiàn)將數(shù)據(jù)庫一鍵導(dǎo)出為Excel表格的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
Python實(shí)現(xiàn)中文文本關(guān)鍵詞抽取的三種方法
文本關(guān)鍵詞抽取,是對文本信息進(jìn)行高度凝練的一種有效手段,通過3-5個(gè)詞語準(zhǔn)確概括文本的主題,幫助讀者快速理解文本信息,本文分別采用TF-IDF方法、TextRank方法和Word2Vec詞聚類方法,利用Python語言進(jìn)行開發(fā),實(shí)現(xiàn)文本關(guān)鍵詞的抽取,需要的朋友可以參考下2024-01-01
Django框架基礎(chǔ)認(rèn)證模塊auth應(yīng)用示例
這篇文章主要為大家介紹了Django框架認(rèn)證模塊auth示例應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
Python獲取中國節(jié)假日數(shù)據(jù)記錄入JSON文件
項(xiàng)目系統(tǒng)內(nèi)置的日歷應(yīng)用為了提升用戶體驗(yàn),特別設(shè)置了在調(diào)休日期顯示“休”的UI圖標(biāo)功能,那么問題是這些調(diào)休數(shù)據(jù)從哪里來呢?我嘗試一種更為智能的方法:Python獲取中國節(jié)假日數(shù)據(jù)記錄入JSON文件2025-04-04
Python基礎(chǔ)學(xué)習(xí)之類與實(shí)例基本用法與注意事項(xiàng)詳解
這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)之類與實(shí)例基本用法與注意事項(xiàng),結(jié)合實(shí)例形式詳細(xì)分析了Python面相對象程序設(shè)計(jì)中關(guān)于類的定義與實(shí)例化對象相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-06-06
Python多線程批量采集圖片的代碼實(shí)現(xiàn)
這篇文章主要給大家介紹了Python多線程批量采集圖片的代碼實(shí)現(xiàn),文中通過代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-05-05

