本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于python中Flask藍(lán)圖的使用方法(附代碼),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。
藍(lán)圖
之前我們已經(jīng)通過(guò)代碼了解了一些Flask基本的用法,現(xiàn)在出現(xiàn)一個(gè)問(wèn)題,我們要做的功能越來(lái)越多,路由是不是都要放在run文件中呢?例如我們?cè)诓煌奈募级x了一些路由,如果想要訪問(wèn)他們,是不是要開(kāi)啟很多個(gè)不同的服務(wù)呢?
Flask中提供了藍(lán)圖,專門用作Flask的模塊化。
Flask使用藍(lán)圖的概念來(lái)制作應(yīng)用程序組件和支持應(yīng)用程序內(nèi)部或跨應(yīng)用程序的通用模式。藍(lán)圖可以大大簡(jiǎn)化大型應(yīng)用程序的工作方式,并為Flask擴(kuò)展提供了在應(yīng)用程序上注冊(cè)操作的中心手段。Blueprint對(duì)象的工作方式與Flask應(yīng)用程序?qū)ο箢愃疲珜?shí)際上它不是一個(gè)應(yīng)用程序。相反,它是如何構(gòu)造或擴(kuò)展應(yīng)用程序的藍(lán)圖。
總之,藍(lán)圖可以使我們的程序更加模塊化,不同功能的路由可以放在不同的模塊下,最后集中到啟動(dòng)類中。
首先,新建一個(gè)flask項(xiàng)目文件,建立文件結(jié)構(gòu)如下圖所示:
主運(yùn)行文件
from app.movie.view import movie as movie_bp from app.tag.view import tag as tag_bp from flask import Flask if __name__ == '__main__': app = Flask(__name__) app.register_blueprint(tag_bp,url_prefix='/tag') app.register_blueprint(movie_bp,url_prefix='/movie') app.run(port=9099)
模塊一:標(biāo)簽
所有的路由和視圖函數(shù)依舊單獨(dú)寫在一個(gè)文件里面,這里起名view.py
from flask import Blueprint tag = Blueprint('tag',__name__) @tag.route('/') def index(): return 'ok' @tag.route('/add/') def add(): return 'tag add'
模塊二:電影
所有的路由和視圖函數(shù)依舊單獨(dú)寫在一個(gè)文件里面,這里起名view.py
from flask import Blueprint movie = Blueprint('movie',__name__) @movie.route('/') def index(): return 'ok' @movie.route('/add/') def add(): return 'movie add'
運(yùn)行結(jié)果
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com