欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flask-藍(lán)圖?blueprint詳情

 更新時(shí)間:2021年11月26日 09:59:52   作者:tigeriaf  
這篇文章主要介紹了?Flask-藍(lán)圖?blueprint的相關(guān)資料,Blueprint?是一個(gè)存儲(chǔ)視圖方法的容器,這些操作在這個(gè)Blueprint?被注冊(cè)到一個(gè)應(yīng)用之后就可以被調(diào)用,F(xiàn)lask?可以通過Blueprint來組織URL以及處理請(qǐng)求,更多相關(guān)資料需要的小伙伴可以參考下面文章

前言:

我們的應(yīng)用經(jīng)常會(huì)有很多小模塊,比如用戶模塊、后臺(tái)管理模塊等,雖然這些模塊都在同一個(gè)應(yīng)用中,但是功能大不相同,把他們放在同一個(gè)文件中,顯得十分雜亂,不便于管理維護(hù),那么有沒有什么方法可以將模塊分開管理呢?是有的!Flask 藍(lán)圖(Blueprint),它可以模塊化管理路由,使用藍(lán)圖可以把不同模塊的視圖函數(shù)寫在不同的py文件中,在主視圖中導(dǎo)入分路由視圖的模塊,并注冊(cè)藍(lán)圖對(duì)象,降低各個(gè)功能模塊的耦合度使程序結(jié)構(gòu)更加簡(jiǎn)單、清晰。

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

  • 一個(gè)項(xià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

1、藍(lán)圖的定義

藍(lán)圖就是用于實(shí)現(xiàn)單個(gè)應(yīng)用的視圖、模板、靜態(tài)文件的集合。使用藍(lán)圖可以實(shí)現(xiàn)模塊化應(yīng)用的功能,有些類似于Django 中子應(yīng)用 app。

藍(lán)圖使用起來就像應(yīng)用當(dāng)中的子應(yīng)用一樣,可以有自己的視圖、模板,靜態(tài)文件等。多個(gè)藍(lán)圖之間互不影響,但是它們可以共享應(yīng)用的全局變量、配置信息等。

1.1使用藍(lán)圖

使用flask.Blueprint定義藍(lán)圖,app.register_blueprint注冊(cè)藍(lán)圖。

下面來具體介紹一下如何使用藍(lán)圖。

新建創(chuàng)建一個(gè)“user”子目錄,并在該目錄中新建一個(gè) __init__.py 文件,在文件中,創(chuàng)建用戶藍(lán)圖對(duì)象:

from flask import Blueprint

user_bp = Blueprint("user", __name__, url_prefix="/user")

創(chuàng)建了藍(lán)圖對(duì)象“user_bp”,Blueprint 的第一個(gè)參數(shù)user指定了這個(gè)藍(lán)圖的名稱,第二個(gè)參數(shù)指定了該藍(lán)圖所在的模塊名,這里是當(dāng)前文件,第三個(gè)參數(shù)指定其 url 前綴。

然后編寫視圖文件 views.py,并編寫視圖函數(shù):

from user import user_bp

@user_bp.route('/')

def index():

    return '<h1>Hello, this is user blueprint</h1>'

@user_bp.route('/add')

def add_user():

    return '<h1>add success!</h1>'

······

在視圖函數(shù)上使用了藍(lán)圖對(duì)象“user_bp”,使用起來類似于 Flask app 對(duì)象,使用user_bp.route()指定路由。

然后在 __init__.py 文件末尾添加如下代碼,導(dǎo)入視圖函數(shù)。

from . import views

當(dāng)然,也可以選擇把 __init__.py 文件內(nèi)創(chuàng)建藍(lán)圖對(duì)象“user_bp”的代碼寫在視圖文件?views.py 中,__init__.py 文件置空。

最后,在應(yīng)用主程序 app.py 中注冊(cè)該藍(lán)圖,使用app.register_blueprint()方法即可:

app.register_blueprint(user_bp)

也可以在注冊(cè)藍(lán)圖時(shí)指定其 url 前綴。

我們現(xiàn)在已經(jīng)使用藍(lán)圖創(chuàng)建了用戶模塊,之后再添加其他模塊,使用以上步驟添加即可。

到此這篇關(guān)于 Flask-藍(lán)圖 blueprint詳情的文章就介紹到這了,更多相關(guān) Flask 藍(lán)圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論