Python Flask框架擴(kuò)展操作示例
本文實(shí)例講述了Python Flask框架擴(kuò)展操作。分享給大家供大家參考,具體如下:
請(qǐng)求上下文(request context)
Flask有兩大核心:Werkzeug和Jinja2。Werkzeug實(shí)現(xiàn)路由、調(diào)試和Web服務(wù)器網(wǎng)關(guān)接口。Jinja2實(shí)現(xiàn)了模板。
request和response都屬于請(qǐng)求上下文對(duì)象。
當(dāng)調(diào)用app = Flask(name)的時(shí)候,創(chuàng)建了程序應(yīng)用對(duì)象app;
request 在每次http請(qǐng)求發(fā)生時(shí),WSGI server調(diào)用Flask.call();然后在Flask內(nèi)部創(chuàng)建的request對(duì)象;
app的生命周期大于request,一個(gè)app存活期間,可能發(fā)生多次http請(qǐng)求,所以就會(huì)有多個(gè)request。
最終傳入視圖函數(shù),通過return、redirect或render_template生成response對(duì)象,返回給客戶端。
Flask裝飾器路由的實(shí)現(xiàn):
Flask框架是以Werkzeug為基礎(chǔ)實(shí)現(xiàn)的。
Werkzeug是一個(gè)遵循WSGI協(xié)議的python函數(shù)庫(kù)。其內(nèi)部實(shí)現(xiàn)了很多Web框架底層的東西,比如request和response對(duì)象;與WSGI規(guī)范的兼容;支持Unicode;支持基本的會(huì)話管理和簽名Cookie;集成URL請(qǐng)求路由等。
Werkzeug庫(kù)的routing模塊負(fù)責(zé)實(shí)現(xiàn)URL解析。不同的URL對(duì)應(yīng)不同的視圖函數(shù),routing模塊會(huì)對(duì)請(qǐng)求信息的URL進(jìn)行解析,匹配到URL對(duì)應(yīng)的視圖函數(shù),以此生成一個(gè)響應(yīng)信息。
routing模塊內(nèi)部有Rule類(用來構(gòu)造不同的URL模式的對(duì)象)、Map類(存儲(chǔ)所有的URL規(guī)則)、MapAdapter類(負(fù)責(zé)具體URL匹配的工作);
Flask-Script擴(kuò)展命令行
通過使用Flask-Script擴(kuò)展,我們可以在Flask服務(wù)器啟動(dòng)的時(shí)候,通過命令行的方式傳入?yún)?shù)。而不僅僅通過app.run()
方法中傳參,比如我們可以通過python hello.py runserver –host ip地址,告訴服務(wù)器在哪個(gè)網(wǎng)絡(luò)接口監(jiān)聽來自客戶端的連接。默認(rèn)情況下,服務(wù)器只監(jiān)聽來自服務(wù)器所在計(jì)算機(jī)發(fā)起的連接,即localhost連接。
我們可以通過python hello.py runserver –help來查看參數(shù)。
from flask import Flask from flask_script import Manager app = Flask(__name__) manager = Manager(app) @app.route('/') def index(): return '床前明月光' if __name__ == "__main__": manager.run()
希望本文所述對(duì)大家基于flask框架的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python3中http協(xié)議提供文件服務(wù)器功能詳解
http協(xié)議是互聯(lián)網(wǎng)的通用基礎(chǔ)協(xié)議,也可以利用其來開發(fā)文件服務(wù)器,給客戶提供文件瀏覽,查看,下載,上傳等功能,這篇文章主要介紹了python3中http協(xié)議提供文件服務(wù)器功能,需要的朋友可以參考下2023-06-06python基于pyDes庫(kù)實(shí)現(xiàn)des加密的方法
這篇文章主要介紹了python基于pyDes庫(kù)實(shí)現(xiàn)des加密的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了pyDes庫(kù)的下載、安裝及使用pyDes庫(kù)進(jìn)行加密的相關(guān)操作技巧,需要的朋友可以參考下2017-04-04Python中 CSV格式清洗與轉(zhuǎn)換的實(shí)例代碼
這篇文章主要介紹了Python123 CSV格式清洗與轉(zhuǎn)換的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Python爬蟲網(wǎng)頁(yè)元素定位術(shù)
這篇文章主要介紹了Python爬蟲網(wǎng)頁(yè)元素定位術(shù),文章通過Beautiful?Soup模塊展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05入門tensorflow教程之TensorBoard可視化模型訓(xùn)練
在本篇文章中,主要介紹 了TensorBoard 的基礎(chǔ)知識(shí),并了解如何可視化訓(xùn)練模型中的一些基本信息,希望對(duì)大家的TensorBoard可視化模型訓(xùn)練有所幫助2021-08-08python 實(shí)現(xiàn)百度網(wǎng)盤非會(huì)員上傳超過500個(gè)文件的方法
這篇文章主要介紹了python 實(shí)現(xiàn)百度網(wǎng)盤非會(huì)員上傳超過500個(gè)文件的方法,幫助大家更好的利用python解決問題,感興趣的朋友可以了解下2021-01-01python機(jī)器學(xué)習(xí)實(shí)現(xiàn)決策樹
這篇文章主要為大家詳細(xì)介紹了python機(jī)器學(xué)習(xí)實(shí)現(xiàn)決策樹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11Python辦公自動(dòng)化Word轉(zhuǎn)Excel文件批量處理
這篇文章主要為大家介紹了Python辦公自動(dòng)化Word轉(zhuǎn)Excel文件批量處理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06對(duì)Python中9種生成新對(duì)象的方法總結(jié)
今天小編就為大家分享一篇對(duì)Python中9種生成新對(duì)象的方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05