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

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

flask藍(lán)圖指的是什么-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、沭陽(yáng)ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的沭陽(yáng)網(wǎng)站制作公司

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

Blueprint概念

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

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

一個(gè)應(yīng)用可以具有多個(gè)Blueprint可以將一個(gè)Blueprint注冊(cè)到任何一個(gè)未使用的URL下比如 “/”、“/sample”或者子域名在一個(gè)應(yīng)用中,一個(gè)模塊可以注冊(cè)多次Blueprint可以單獨(dú)具有自己的模板、靜態(tài)文件或者其它的通用操作方法,它并不是必須要實(shí)現(xiàn)應(yīng)用的視圖和函數(shù)的在一個(gè)應(yīng)用初始化時(shí),就應(yīng)該要注冊(cè)需要使用的Blueprint

但是一個(gè)Blueprint并不是一個(gè)完整的應(yīng)用,它不能獨(dú)立于應(yīng)用運(yùn)行,而必須要注冊(cè)到某一個(gè)應(yīng)用中。

初識(shí)藍(lán)圖

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

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

from flask import Blueprint

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

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

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

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

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

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

藍(lán)圖的url前綴

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

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

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

注冊(cè)靜態(tài)路由

和應(yīng)用對(duì)象不同,藍(lán)圖對(duì)象創(chuàng)建時(shí)不會(huì)默認(rèn)注冊(cè)靜態(tài)目錄的路由。需要我們?cè)?創(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/ 訪問(wèn)static_admin目錄下的靜態(tài)文件了 定制靜態(tài)目錄URL規(guī)則 :可以在創(chuàng)建藍(lán)圖對(duì)象時(shí)使用 static_url_path 來(lái)改變靜態(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)圖對(duì)象默認(rèn)的模板目錄為系統(tǒng)的模版目錄,可以在創(chuàng)建藍(lán)圖對(duì)象時(shí)使用 template_folder 關(guān)鍵字參數(shù)設(shè)置模板目錄

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

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


網(wǎng)頁(yè)標(biāo)題:flask藍(lán)圖指的是什么-創(chuàng)新互聯(lián)
文章起源:http://weahome.cn/article/disodc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部