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

深入了解Python?Flask框架之藍圖

 更新時間:2021年12月10日 17:25:13   作者:霖hero  
這篇文章主要為大家介紹了Python?Flask框架之藍圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

隨著Flask項目越來越復雜,把所有視圖函數(shù)放在一個應用文件中會很不方便我們管理,所以需要對程序進行模塊化的處理。Flask內(nèi)置了一個模塊化處理的類——Blueprint藍圖。

Blueprint 是一種組織一組相關視圖及其他代碼的方式。與把視圖及其他代碼直接注冊到應用的方式不同,藍圖方式是把它們注冊到藍圖,然后在工廠函數(shù)中把藍圖注冊到應用。

簡單來說就把app應用分為很多個小模塊,把這些小模塊放在一個包里,這個包叫做藍圖,如下圖所示:

項目目錄如下圖所示:

這里創(chuàng)建了一個名為apps的包,我們這個包稱為藍圖,在這個包中,我們又創(chuàng)建了三個包,那么我們?nèi)绾伟阉{圖與app.py聯(lián)系起來呢。這時我們就要通過init.py初始化文件來把藍圖與app.py。

首先我們在user包中創(chuàng)建一個視圖函數(shù)文件名為view,代碼如下所示:

from flask import Blueprint
user_bp= Blueprint('user',__name__)

首先導入Blueprint包,再通過Blueprint()方法來定義變量user_bp為藍圖對象。

init.py初始化文件代碼如下所示:

from flask import Flask
from apps.user.view import user_bp
?
def create_app(): 
    app=Flask(__name__,template_folder='../templates',static_folder='../static')
?
    #藍圖
    app.register_blueprint(user_bp) 
    return app

首先我們導入user中的view對象user_bp,自定義函數(shù)create_app()并創(chuàng)建一個app對象,然后通過app.register_blueprint()方法將藍圖對象綁定在app對象上。

注意:由于init.py初始化文件與static靜態(tài)文件、templates模板文件不在同一級,所以需要重新指定靜態(tài)文件與模板文件的位置。

接下來編寫app.py啟動文件,代碼如下所示:

from flask import Flask
from apps.user.view import user_bp
?
def create_app(): 
    app=Flask(__name__,template_folder='../templates',static_folder='../static')
?
    #藍圖
    app.register_blueprint(user_bp) 
    return app

代碼很簡單,直接導入view文件中的create_app并調(diào)用create_app()。

這樣app.py文件就和藍圖包聯(lián)系起來了。

注意:上面的文件名、藍圖名、視圖函數(shù)名都可以是任意的。

那么我們藍圖的視圖函數(shù)有什么變化呢?

以上面的view視圖函數(shù)文件為例,其代碼內(nèi)容如下所示:

from flask import Blueprint, request, render_template, redirect
from apps.user.model import User
 
user_bp= Blueprint('user',__name__)        #藍圖對象
 
@user_bp.route('/')
def hello():
    return '你好'

與之前的在app.py中寫視圖函數(shù)將比,將之前的@app.route()改為藍圖對象名.route(),其他的就幾乎一樣。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • python django集成cas驗證系統(tǒng)

    python django集成cas驗證系統(tǒng)

    cas是什么東西就不多說了,簡而言之就是單點登陸系統(tǒng),一處登陸,全網(wǎng)有權(quán)限的系統(tǒng)均可以訪問
    2014-07-07
  • python統(tǒng)計函數(shù)被調(diào)用次數(shù)的實現(xiàn)

    python統(tǒng)計函數(shù)被調(diào)用次數(shù)的實現(xiàn)

    本文主要介紹了python如何統(tǒng)計函數(shù)被調(diào)用次數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • python中heapq堆排算法的實現(xiàn)

    python中heapq堆排算法的實現(xiàn)

    這篇文章主要介紹了python中heapq堆排算法的實現(xiàn),該模塊提供了堆排序算法的實現(xiàn)。堆是二叉樹,最大堆中父節(jié)點大于或等于兩個子節(jié)點,最小堆父節(jié)點小于或等于兩個子節(jié)點。下面文章更多詳細介紹,需要的小伙伴可以參考一下
    2022-05-05
  • python設置windows桌面壁紙的實現(xiàn)代碼

    python設置windows桌面壁紙的實現(xiàn)代碼

    每天換一個壁紙,每天好心情。喜歡的朋友可以參考下
    2013-01-01
  • Python基礎數(shù)據(jù)類型tuple元組的概念與用法

    Python基礎數(shù)據(jù)類型tuple元組的概念與用法

    元組(tuple)是 Python 中另一個重要的序列結(jié)構(gòu),和列表類似,元組也是由一系列按特定順序排序的元素組成,這篇文章主要給大家介紹了關于Python基礎數(shù)據(jù)類型tuple元組的概念與使用方法,需要的朋友可以參考下
    2021-07-07
  • 淺談Python實現(xiàn)Apriori算法介紹

    淺談Python實現(xiàn)Apriori算法介紹

    這篇文章主要介紹了淺談Python實現(xiàn)Apriori算法介紹,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Python中的異常處理詳解

    Python中的異常處理詳解

    這篇文章主要介紹了Python中的異常處理詳解,在編寫Python程序時,經(jīng)常會遇到各種運行時錯誤,這些錯誤會導致程序終止并拋出異常。然而,有時我們希望程序能優(yōu)雅地處理這些錯誤,而不是直接崩潰,這就需要用到異常處理了,需要的朋友可以參考下
    2023-07-07
  • Python繪制并保存指定大小圖像的方法

    Python繪制并保存指定大小圖像的方法

    今天小編就為大家分享一篇Python繪制并保存指定大小圖像的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python 猴子補丁(monkey patch)

    python 猴子補丁(monkey patch)

    這篇文章主要介紹了python 猴子補丁(monkey patch),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 用Python分析3天破10億的《我不是藥神》到底神在哪?

    用Python分析3天破10億的《我不是藥神》到底神在哪?

    我不是藥神這部劇真的是很火,三天破10億。接下來腳本之家小編給大家?guī)砹擞肞ython來看3天破10億的《我不是藥神》到底神在哪?感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07

最新評論