程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python Flask Blueprint 藍圖

編輯:Python

Python Flask Blueprint 藍圖

本篇來了解一下 Flask 中 Blueprint 藍圖,什麼藍圖 。。就是一個分模塊的擴展而已,用來讓不同的 業務模塊api 分到不同的python文件中 而已,和 Spring mvc 的 class 級別 的@RequestMapping("/") 差不多。。

前因:

為什麼要引入 Blueprint 藍圖呢? 因為如果默認把API接口都寫到 一個py 文件裡面 那麼這個文件會越來越復雜,會越來越臃腫 導致 無法維護 ,所以按照正常的開發邏輯 也需要進行模塊的劃分 ,那麼就需要引入 Blueprint

1.安裝 Blueprint

需要先在環境中 使用 pip 安裝一下 Blueprint 擴展

pip install Blueprint

2.編寫Flask 入口 py文件

from flask import Flask
app = Flask(__name__)
@app.route('/')
def helloworld():
return 'Hello world python flask' # 新版本應該是 不支持這樣啟動了
# if __name__ == '__main__':
# app.run()

3.編寫User模塊 user.py文件

根據業務 可以創建新的模塊 然後通過Blueprint 去注冊路由

from flask import Blueprint
user = Blueprint('user',__name__)
@user.route('/user/username')
def username():
return 'get username : johnny'

4.Blueprint注冊到 Flask app上

在入口文件中 把剛剛創建的 Blueprint 注冊上去

from flask import Flask
#引入 剛剛創建的 blueprint
from user import user app = Flask(__name__)
#注冊到 flask app上
app.register_blueprint(user) @app.route('/')
def helloworld():
return 'Hello world python flask' # if __name__ == '__main__':
# app.run()

5.驗證

訪問:/user/username 得到如下:

訪問: / 得到如下:

總結:

使用 Blueprint很簡單 按照下面的流程

  1. pip install Blueprint

  2. 創建 新模塊文件,在其中創建Blueprint對象 如:

    # Blueprint兩個參數('藍圖名字',藍圖所在位置')
    user = Blueprint('user',__name__)
  3. Blueprint注冊到 Flask app上

    #引入 剛剛創建的 blueprint
    from user import user
    app = Flask(__name__) app.register_blueprint(user)

可以把Blueprint 理解為 Spring mvc 的 Class 級別 的@RequestMapping("/user") 差不多。。

歡迎大家訪問 個人博客 Johnny小屋

歡迎關注個人公眾號

Python Flask Blueprint 藍圖的更多相關文章

  1. flask Blueprint藍圖

    首先要了解藍圖的作用,模擬場景在團隊開發過程中團隊每個人都在寫自己負責的功能模塊,那多個py文件模板,我們如果完成後需要運行是不是要運行多個服務?但是我們的項目是一個整體,而不是零散的,所以我們怎麼把 ...

  2. python - Flask 基礎 - 藍圖( Blueprint )(2)

    """ 藍圖:為開發者提供的目錄結構 - 使用: 1. 根目錄創建一個跟項目名一樣的文件 - 創建後第一步,在這個文件夾中添加一個 __init__.py 的配置文件 - ...

  3. python flask框架 藍圖的使用

    藍圖的目的是實現 各個模塊的視圖函數寫在不同的py文件當中. 主視圖 中 導入 分路由視圖的模塊,並且注冊藍圖對象 分路由視圖中 利用 藍圖對象 的route 進行裝飾視圖函數 主路由視圖函數: #c ...

  4. Flask - Flask的藍圖(BluePrint)

    目錄 Flask - Flask的藍圖(BluePrint) 一. 初始Flask藍圖 進階Flask藍圖 使用藍圖做一個增刪改查 1.使用藍圖進行web應用搭建: 2.使用Flask藍圖,查看學生信 ...

  5. 用 Flask 來寫個輕博客 (16) — MV(C)_Flask Blueprint 藍圖

    Blog 項目源碼:https://github.com/JmilkFan/JmilkFan-s-Blog 目錄 目錄 前文列表 擴展閱讀 Blueprint 藍圖 定義一個藍圖 注冊一個藍圖 創建藍 ...

  6. 學習python-20191217(1)-Python Flask高級編程開發魚書_第04章_應用、藍圖與視圖函數

    視頻01: flask框架:最上層是app,它就像一個插線板一樣,比如可以插入藍圖,還可以插入其他各種flask插件. 每個藍圖又可以插入很多視圖函數,並可指定靜態文件夾和模板文件夾. 好的代碼結構, ...

  7. flask之Blueprint藍圖

    flask_Blueprint.py ''' flask中的Blueprint藍圖: (1)新建模塊,例如Bp1.py,Bp2.py,在模塊中創建藍圖實例 (2)通過app.register_blue ...

  8. python Flask

    python Flask Flask是一個基於Python開發並且依賴jinja2模板和Werkzeug WSGI服務的一個微型框架,對於Werkzeug本質是Socket服務端,其用於接收http請 ...

  9. flask blueprint

    在使用flask進行一個項目編寫的時候,可能會有許多個模塊,如一個網站的前台(home)和後台(admin)模塊,如果把這兩個模塊都放在一個views.py文件之中,那麼最後views.py文件必然臃 ...

  10. flask使用藍圖,創建副本

    隨著flask的發展,flask框架越來越復雜,我們需要進行模塊化處理,因為之前學過python模塊化管理,我可以對一個flask程序進行簡單的模塊化處理. 我們都有一個博客程序,由此可知博客的前端界 ...

隨機推薦

  1. 排序算法(JAVA)

    import java.util.Random;      /**  * 排序測試類  *   * 排序算法的分類如下:  * 1.插入排序(直接插入排序.折半插入排序.希爾排序):  * 2.交換排 ...

  2. iOS javascript js 交互

    //JS裡的一個回調.比如網頁上的某個按鈕點一下之後.JS會調用setKey這個方法. JSContext *context1 = [self.startView valueForKeyPath:@& ...

  3. fuser命令小結

    前提 linux環境下,當使用umount命令卸載掛載點時,會遇到“device is busy”提示,這時fuser就能查出誰在使用這個資源;當然umount –lf  [掛載點] 也可以強制卸載 ...

  4. ElasticSearch(ES)和solr的關系和區別

    可以參考這篇文章:http://www.cnblogs.com/chowmin/articles/4629220.html Solr 2004年誕生(當時是Solar). ElasticSearch ...

  5. 單人SVN提交bug

    The working copy "初識tableVIew" failed to commit files. fatal: Unable to create '/Users/zjj ...

  6. 《HTML5 CANVAS基礎教程》讀書筆記

    一.HTML5簡介 1.HTML5新特性 1)結構元素:section,header,hgroup,footer,nav,article,aside, 2)內容元素:figure,figcaption ...

  7. Android 網絡編程與通信協議

    大多數的Android應用程序都會使用HTTP協議來發送和接收網絡數據,而Android中主要提供了兩種方式來進行HTTP操作, HttpURLConnection和HttpClient.這兩種方式都 ...

  8. C#之關於時間的整理

    今天在整理C#的異步編程的時候,看到一個Stopwatch類.讓我想起了,時候整理一下C#關於時間的類,望補充.斧正. DataTime類 表示時間上的一刻,即某個時間節點,通常以日期和當天的時間表示 ...

  9. 《天書夜讀:從匯編語言到windows內核編程》三 練習反匯編C語言程序

    1) Debug版本算法反匯編,現有如下3×3矩陣相乘的程序: #define SIZE 3 int MyFunction(int a[SIZE][SIZE],int b[SIZE][SIZE],in ...

  10. jquery empty()方法在IE下報錯的解決辦法

    empty()在IE中沒反應的辦法: 用原生的js解決: try { $("#id" ).empty(); } catch (e) { $("#id")[0]. ...


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved