最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

項目目錄如下圖所示:

這里創(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__)

首先導(dǎo)入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

首先我們導(dǎo)入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

代碼很簡單,直接導(dǎo)入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é)

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

相關(guān)文章

  • python中的global關(guān)鍵字的使用方法

    python中的global關(guān)鍵字的使用方法

    這篇文章主要介紹了python中的global關(guān)鍵字的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python利用字典破解WIFI密碼的方法

    Python利用字典破解WIFI密碼的方法

    今天小編就為大家分享一篇關(guān)于Python利用字典破解WIFI密碼的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • yolov5中head修改為decouple?head詳解

    yolov5中head修改為decouple?head詳解

    現(xiàn)成的YOLOv5代碼真的很香,不管口碑怎么樣,我用著反正是挺爽的,下面這篇文章主要給大家介紹了關(guān)于yolov5中head修改為decouple?head的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • 聊聊Python pandas 中l(wèi)oc函數(shù)的使用,及跟iloc的區(qū)別說明

    聊聊Python pandas 中l(wèi)oc函數(shù)的使用,及跟iloc的區(qū)別說明

    這篇文章主要介紹了聊聊Python pandas 中l(wèi)oc函數(shù)的使用,及跟iloc的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python檢查端口是否打開的七種方法總結(jié)

    Python檢查端口是否打開的七種方法總結(jié)

    在信息安全領(lǐng)域,端口掃描是一項常見的技術(shù),用于逐個檢測目標主機上的端口是否開放,這篇文章主要給大家介紹了關(guān)于Python檢查端口是否打開的七種方法總結(jié),需要的朋友可以參考下
    2023-12-12
  • Django使用HttpResponse返回圖片并顯示的方法

    Django使用HttpResponse返回圖片并顯示的方法

    今天小編就為大家分享一篇Django使用HttpResponse返回圖片并顯示的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • tensorflow saver 保存和恢復(fù)指定 tensor的實例講解

    tensorflow saver 保存和恢復(fù)指定 tensor的實例講解

    今天小編就為大家分享一篇tensorflow saver 保存和恢復(fù)指定 tensor的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 基于Flask+websocket實現(xiàn)一個在線聊天室

    基于Flask+websocket實現(xiàn)一個在線聊天室

    在今天的互聯(lián)網(wǎng)時代,實時通信成為了許多應(yīng)用和服務(wù)的核心特色,在本文中,我們將介紹如何使用 Flask 和 Websockets 通過 Flask-SocketIO 框架創(chuàng)建一個簡單的在線聊天室,感興趣的可以跟隨小編一起了解下
    2023-09-09
  • python爬蟲指南之xpath實例解析(附實戰(zhàn))

    python爬蟲指南之xpath實例解析(附實戰(zhàn))

    在進行網(wǎng)頁抓取的時候,分析定位html節(jié)點是獲取抓取信息的關(guān)鍵,目前我用的是lxml模塊,下面這篇文章主要給大家介紹了關(guān)于python爬蟲指南之xpath實例解析的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Python+PyQt5實現(xiàn)自動化任務(wù)管理

    Python+PyQt5實現(xiàn)自動化任務(wù)管理

    這篇文章主要為大家詳細介紹了如何通過PyQt5構(gòu)建圖形界面,使用Python實現(xiàn)了一個自動化任務(wù)管理系統(tǒng),感興趣的小伙伴可以參考一下
    2025-04-04

最新評論

双城市| 金沙县| 蒲江县| 东安县| 息烽县| 高密市| 鄂温| 绍兴市| 泾源县| 黄骅市| 兴宁市| 长寿区| 青冈县| 会昌县| 红原县| 锦州市| 虎林市| 桃江县| 兰坪| 松溪县| 道孚县| 九寨沟县| 双城市| 河津市| 格尔木市| 高清| 牟定县| 襄樊市| 武鸣县| 拉孜县| 舞钢市| 忻州市| 舞阳县| 大城县| 芦山县| 和龙市| 台东县| 顺平县| 上思县| 旬邑县| 齐齐哈尔市|