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

深入了解Python?Flask框架之藍(lán)圖

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

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

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

簡(jiǎn)單來(lái)說(shuō)就把a(bǔ)pp應(yīng)用分為很多個(gè)小模塊,把這些小模塊放在一個(gè)包里,這個(gè)包叫做藍(lán)圖,如下圖所示:

項(xiàng)目目錄如下圖所示:

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

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

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

首先導(dǎo)入Blueprint包,再通過(guò)Blueprint()方法來(lái)定義變量user_bp為藍(lán)圖對(duì)象。

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')
?
    #藍(lán)圖
    app.register_blueprint(user_bp) 
    return app

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

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

接下來(lái)編寫app.py啟動(dòng)文件,代碼如下所示:

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

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

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

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

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

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

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

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    Python中的異常處理詳解

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

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

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

    python 猴子補(bǔ)丁(monkey patch)

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

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

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

最新評(píng)論