Flask 藍(lán)圖

什么是藍(lán)圖

在flask項(xiàng)目中可以用Blueprint(藍(lán)圖)實(shí)現(xiàn)模塊化的應(yīng)用,使用藍(lán)圖可以讓應(yīng)用層次更清晰,開發(fā)者更容易去維護(hù)和開發(fā)項(xiàng)目。藍(lán)圖將作用于相同的url的前綴的請求地址,將具有相同前綴的請求都放在一個(gè)模塊中

使用藍(lán)圖

安裝

pip install flask_blueprint

實(shí)例化藍(lán)圖應(yīng)用

blue = Blueprint('first', __name__)

注: Blueprint中傳入了兩個(gè)參數(shù),第一個(gè)藍(lán)圖的名稱,第二個(gè)是藍(lán)圖所在的包或模塊,__name__代表當(dāng)前模塊名或包名

注冊

app = Flask(__name__)
app.register_blueprint(blue, url_prefix='/user')

注:第一個(gè)參數(shù)即我們定義初始化定義的藍(lán)圖對象,第二個(gè)參數(shù)url_prefix表示該藍(lán)圖下,所有的url請求必須以/user開始。這樣對一個(gè)模塊的url可以很好的進(jìn)行統(tǒng)一管理

實(shí)例

修改視圖上的裝飾器,修改為@blue.router('/')

@blue.route('/', methods=['GET', 'POST'])
def hello():
    # 視圖函數(shù)
    return 'Hello World'

注:該方法對應(yīng)的url為127.0.0.1:5000/user/

url_for 反向解析

語法:

url_for('藍(lán)圖中定義的第一個(gè)參數(shù).函數(shù)名', 參數(shù)名=value)

定義跳轉(zhuǎn):

from flask import url_for, redirect

@blue.route('/redirecet/')
def make_redirect():
    # 第一種方法
    return redirect('/hello/index/')
    # 第二種方法
    return redirect(url_for('first.index'))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 解釋1: 允許將應(yīng)用組織為模塊,每個(gè)模塊有自洽的 MVC,開發(fā)者做些工作可以使模塊間依賴盡可能少,必要時(shí)可以按 b...
    大詩兄_zl閱讀 2,352評(píng)論 1 1
  • 藍(lán)圖 Blueprint 模塊化 隨著flask程序越來越復(fù)雜,我們需要對程序進(jìn)行模塊化的處理,之前學(xué)習(xí)過pyth...
    Gavininn閱讀 48,588評(píng)論 1 12
  • 藍(lán)圖和子域名 藍(lán)圖: 之前我們寫的url和視圖函數(shù)都是處在同一個(gè)文件,如果項(xiàng)目比較大的話,這顯然不是一個(gè)合理的結(jié)構(gòu)...
    yungege閱讀 341評(píng)論 1 0
  • Flask藍(lán)圖提供了模塊化管理程序路由的功能,使程序結(jié)構(gòu)清晰、簡單易懂。下面分析藍(lán)圖的使用方法 假如說我們要為某所...
    楓林夕陽閱讀 27,464評(píng)論 3 13
  • 藍(lán)圖的使用 1.目錄結(jié)構(gòu): app1: 單個(gè)應(yīng)用的目錄app1/admin: app1下的一個(gè)功能模塊app1/a...
    山高路遠(yuǎn)_海深不藍(lán)閱讀 1,024評(píng)論 0 1

友情鏈接更多精彩內(nèi)容