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