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

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

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

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

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

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

項目目錄如下圖所示:

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

首先我們在user包中創(chuàng)建一個視圖函數文件名為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,自定義函數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并調用create_app()。

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

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

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

以上面的view視圖函數文件為例,其代碼內容如下所示:

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中寫視圖函數將比,將之前的@app.route()改為藍圖對象名.route(),其他的就幾乎一樣。

總結

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

相關文章

  • python中的global關鍵字的使用方法

    python中的global關鍵字的使用方法

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

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

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

    yolov5中head修改為decouple?head詳解

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

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

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

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

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

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

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

    tensorflow saver 保存和恢復指定 tensor的實例講解

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

    基于Flask+websocket實現一個在線聊天室

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

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

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

    Python+PyQt5實現自動化任務管理

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

最新評論

岱山县| 保康县| 德昌县| 龙泉市| 砀山县| 红安县| 长岛县| 长阳| 通榆县| 通榆县| 北流市| 华宁县| 垦利县| 怀集县| 天峻县| 汝南县| 周宁县| 宁南县| 若羌县| 象州县| 仙桃市| 来宾市| 三门峡市| 静乐县| 行唐县| 日照市| 鄂托克前旗| 嘉定区| 三原县| 关岭| 大兴区| 徐州市| 中阳县| 江津市| 来凤县| 香河县| 天祝| 新野县| 宁夏| 永仁县| 增城市|