真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flask藍(lán)圖指的是什么

這篇文章將為大家詳細(xì)講解有關(guān)flask藍(lán)圖指的是什么,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、民樂網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為民樂等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

Blueprint概念

簡單來說,Blueprint 是一個(gè)存儲(chǔ)操作方法的容器,這些操作在這個(gè)Blueprint 被注冊到一個(gè)應(yīng)用之后就可以被調(diào)用,F(xiàn)lask 可以通過Blueprint來組織URL以及處理請求。

Flask使用Blueprint讓應(yīng)用實(shí)現(xiàn)模塊化,在Flask中,Blueprint具有如下屬性:

一個(gè)應(yīng)用可以具有多個(gè)Blueprint可以將一個(gè)Blueprint注冊到任何一個(gè)未使用的URL下比如 “/”、“/sample”或者子域名在一個(gè)應(yīng)用中,一個(gè)模塊可以注冊多次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)用中。

初識藍(lán)圖

藍(lán)圖/Blueprint對象用起來和一個(gè)應(yīng)用/Flask對象差不多,最大的區(qū)別在于一個(gè) 藍(lán)圖對象沒有辦法獨(dú)立運(yùn)行,必須將它注冊到一個(gè)應(yīng)用對象上才能生效

使用藍(lán)圖可以分為三個(gè)步驟

from flask import Blueprint

1,創(chuàng)建一個(gè)藍(lán)圖對象admin=Blueprint('admin',__name__)
2,在這個(gè)藍(lán)圖對象上進(jìn)行操作,注冊路由,指定靜態(tài)文件夾,注冊模版過濾器

@admin.route('/')def admin_home():   
   return 'admin_home'

3,在應(yīng)用對象上注冊這個(gè)藍(lán)圖對象app.register_blueprint(admin,url\_prefix='/admin')

當(dāng)這個(gè)應(yīng)用啟動(dòng)后,通過/admin/可以訪問到藍(lán)圖中定義的視圖函數(shù)

運(yùn)行機(jī)制

藍(lán)圖是保存了一組將來可以在應(yīng)用對象上執(zhí)行的操作,注冊路由就是一種操作當(dāng)在應(yīng)用對象上調(diào)用 route 裝飾器注冊路由時(shí),這個(gè)操作將修改對象的url_map路由表然而,藍(lán)圖對象根本沒有路由表,當(dāng)我們在藍(lán)圖對象上調(diào)用route裝飾器注冊路由時(shí),它只是在內(nèi)部的一個(gè)延遲操作記錄列表defered_functions中添加了一個(gè)項(xiàng)當(dāng)執(zhí)行應(yīng)用對象的 register_blueprint() 方法時(shí),應(yīng)用對象將從藍(lán)圖對象的 defered_functions 列表中取出每一項(xiàng),并以自身作為參數(shù)執(zhí)行該匿名函數(shù),即調(diào)用應(yīng)用對象的 add_url_rule() 方法,這將真正的修改應(yīng)用對象的路由表

藍(lán)圖的url前綴

當(dāng)我們在應(yīng)用對象上注冊一個(gè)藍(lán)圖時(shí),可以指定一個(gè)url_prefix關(guān)鍵字參數(shù)(這個(gè)參數(shù)默認(rèn)是/)

在應(yīng)用最終的路由表 url_map中,在藍(lán)圖上注冊的路由URL自動(dòng)被加上了這個(gè)前綴,這個(gè)可以保證在多個(gè)藍(lán)圖中使用相同的URL規(guī)則而不會(huì)最終引起沖突,只要在注冊藍(lán)圖時(shí)將不同的藍(lán)圖掛接到不同的自路徑即可

url_for
url_for('admin.index') # /admin/

注冊靜態(tài)路由

和應(yīng)用對象不同,藍(lán)圖對象創(chuàng)建時(shí)不會(huì)默認(rèn)注冊靜態(tài)目錄的路由。需要我們在 創(chuàng)建時(shí)指定 static_folder 參數(shù)。

下面的示例將藍(lán)圖所在目錄下的static_admin目錄設(shè)置為靜態(tài)目錄

admin = Blueprint("admin",__name__,static_folder='static_admin')
app.register_blueprint(admin,url_prefix='/admin')

現(xiàn)在就可以使用/admin/static_admin/ 訪問static_admin目錄下的靜態(tài)文件了 定制靜態(tài)目錄URL規(guī)則 :可以在創(chuàng)建藍(lán)圖對象時(shí)使用 static_url_path 來改變靜態(tài)目錄的路由。下面的示例將為 static_admin 文件夾的路由設(shè)置為 /lib

admin = Blueprint("admin",__name__,static_folder='static_admin',static_url_path='/lib')
app.register_blueprint(admin,url_prefix='/admin')

設(shè)置模版目錄

藍(lán)圖對象默認(rèn)的模板目錄為系統(tǒng)的模版目錄,可以在創(chuàng)建藍(lán)圖對象時(shí)使用 template_folder 關(guān)鍵字參數(shù)設(shè)置模板目錄

admin = Blueprint('admin',__name__,template_folder='my_templates')

關(guān)于flask藍(lán)圖指的是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


文章標(biāo)題:flask藍(lán)圖指的是什么
轉(zhuǎn)載來源:http://weahome.cn/article/igcccd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部