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

二、使用步驟
1、在初始化__init_.py 文件創(chuàng)建藍圖
1、_init.py 創(chuàng)建藍圖
2、其中:static_folder=‘sta’ 是當前藍圖包靜態(tài)文件訪問路徑,template_folder=‘tmp’ 是當前藍圖包templates下目錄的訪問路徑。
3、 要引入當前目錄的視圖函數(shù)文件
#這個文件創(chuàng)建藍圖
from flask import *
order_bp=Blueprint('order',__name__,static_folder='sta',template_folder='tmp')
#引入視圖函數(shù)
from . import order_func2、創(chuàng)建視圖函數(shù)文件
1、在新建一個創(chuàng)立視圖函數(shù)的文件
2、 這個文件要導(dǎo)入建好的藍圖
#這個文件創(chuàng)建視圖函數(shù)
#導(dǎo)入藍圖
from . import order_bp
@order_bp.route('/co')
def test1():
return "hello python"3、調(diào)用問題
1、當在應(yīng)用程序需要用到某個視圖函數(shù)時,可以通過藍圖進行調(diào)用。
2、注意:from order import order_bp 中的order是我自己命名的藍圖包名字,order_bp是藍圖名字
3、 url_prefix=‘/order’ 是設(shè)置客戶端(瀏覽器)訪問服務(wù)器的前綴 后面加上訪問視圖函數(shù)的裝飾器。
from flask import Flask
app = Flask(__name__)
#導(dǎo)入藍圖
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ā)當中要用到功能非常多,以此對應(yīng)的視圖函數(shù)就很多。
- 因此通過創(chuàng)建不同的藍圖下的不同的視圖函數(shù),可以快速精準的定位到某個視圖函數(shù)。
到此這篇關(guān)于Flask藍圖學習教程的文章就介紹到這了,更多相關(guān)Flask藍圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python利用CNN實現(xiàn)對時序數(shù)據(jù)進行分類
這篇文章主要為大家詳細介紹了Python如何利用CNN實現(xiàn)對時序數(shù)據(jù)進行分類功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-02-02
Python數(shù)據(jù)類型詳解(三)元祖:tuple
本文給大家介紹的是Python數(shù)據(jù)類型中的元祖(tuple),簡單的說Tuple,與列表一樣,元素也是不可變的,但與列表不同,在一個元祖可以包含不同類型的元素2016-05-05
Python批量解壓文件中出現(xiàn)中文亂碼的原因及解決方法
這篇文章主要給大家記一次Python批量解壓文件遇中文亂碼及解決過程,文中有詳細的圖解及代碼示例,具有一定的參考價值,需要的朋友可以參考下2023-08-08
PyQt5中QSpinBox計數(shù)器的實現(xiàn)
這篇文章主要介紹了PyQt5中QSpinBox計數(shù)器的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01

