淺談Python flask框架
?前言:
Python 面向?qū)ο蟮母呒壘幊陶Z言,以其語法簡單、免費(fèi)開源、免編譯擴(kuò)展性高,同時也可以嵌入到C/C++程序和豐富的第三方庫,Python運(yùn)用到大數(shù)據(jù)分析、人工智能、web后端等應(yīng)用場景上。
Python 目前主要流行的web框架:flask、Django、Tornado

那么框架與庫的區(qū)別?
框架(framework)跟庫的功能類似,但是框架在某一領(lǐng)域上功能更加全面。使用框架,會減少開發(fā)者重復(fù)造輪子,直接調(diào)用其類或者函數(shù)就可以實(shí)現(xiàn)需求的功能。
那么,我們本期來學(xué)習(xí)Python提供的 web 框架之一-flask框架相關(guān)方法的學(xué)習(xí),Let's go~
1. flask 框架概述
flask 框架是一款基于 WSGI 的輕量級的web框架。flask 猶如耳熟能詳?shù)摹奥槿鸽m小,五臟俱全”,因此flask具有簡單可拓展的特點(diǎn)。
1.1flask 框架優(yōu)勢
- 基于WSGI應(yīng)用程序,必須使用顯式實(shí)例化
- 使用
Werkzeug路由系統(tǒng)進(jìn)行自動排序路由 - 使用
Jinja2模板引擎,快速方便使用模板 - 使用線程局部變量,實(shí)現(xiàn)快速訪問
weby應(yīng)用程序 - 支持異步等待和
ASCI(async-first) - 銜接單元測試,開發(fā)人員快速進(jìn)行測試檢查
- 自帶開發(fā)服務(wù)器,無需借助其他第三方網(wǎng)絡(luò)服務(wù)
1.2flask 框架獲取
使用pip進(jìn)行下載flask
pip install flask
?flask 包下載之后,會自動下載依賴庫
- Werkzeug 庫:實(shí)現(xiàn)WSGI,前端與服務(wù)端的Python接口
- Jinjia 庫:模板語言,顯示web頁面
- MarkupSafe 庫:附帶Jinjia,用于轉(zhuǎn)義渲染模板不受信任的輸入
- itsDangerous:保護(hù)flask會話的cookie
- Click庫:用于編寫命令行框架

?flask 可選的依賴庫,按實(shí)際需要進(jìn)行下
- Blinker 庫:提供對Singals的支持
- Python-dotenv 庫:運(yùn)行命令時啟動
dotenv的環(huán)境變量來支持flask - Watchdog 為flask服務(wù)器提供快速的加載器
1.3flask 框架使用
在代碼中,使用from...import 導(dǎo)入flask包
from flask import flask
長按 Ctrl,我們可以查看Flask源代碼介紹

2. flask demo步驟
在flask web 框架中,我們來看看要搭建一個DEMO的網(wǎng)站需要做哪些步驟:
初始化:導(dǎo)入Flask庫,定義Flask實(shí)例化對象
- Flask實(shí)例化時,需要傳入
__name__:目的是接收包或者模塊的名字作為參數(shù) - 讓
flask.helpers.get_root_path以便獲得靜態(tài)文件和模板文件的目錄
from flask import Flask APP = Flask(__name__)
定義一個應(yīng)用方法,并且route裝飾器裝飾
- 調(diào)用
route()方法裝飾創(chuàng)建的應(yīng)用方法:目的是告訴flask怎么訪問該函數(shù)
@APP.route("/")
def hello():
return ("<h1>welcome juejin</h1>")
在main中,flask實(shí)例化對象調(diào)用run()方法,進(jìn)行運(yùn)行
- 如果在調(diào)試階段,我們需要設(shè)置
debug=True
if __name__ == "__main__":
APP.run(debug=True)
后臺運(yùn)行日志鏈接

我們訪問日志中生成的鏈,可以在網(wǎng)頁上看到解析的文字

3. flask 基礎(chǔ)功能
flask 上述實(shí)現(xiàn)的簡易web程序,主要使用到啦flask模塊路由功能
3.1路由功能
route()是裝飾器,將URL和函數(shù)綁定
rule:綁定訪問該函數(shù)的url規(guī)則option:要轉(zhuǎn)發(fā)給Rule對象的參數(shù)列表
@app.route(url,optiion)
run()是服務(wù)器上運(yùn)行應(yīng)用程序host:監(jiān)聽的主機(jī)名port:主機(jī)端口號debug:提供調(diào)試信息options:要轉(zhuǎn)發(fā)給底層Werkzeug服務(wù)器
3.2模版提供
flask 框架是基于Jinja2模板引擎實(shí)現(xiàn)的
- 在項(xiàng)目中創(chuàng)建一個子目錄
templates,然后在其目錄下創(chuàng)建demo.html - 在flask文件中,應(yīng)用方法中需要調(diào)用
render_template('demo.html', name=name)
4、總結(jié)
本期,我們對flask 微web框架優(yōu)勢特點(diǎn)、demo web應(yīng)用程序程序步驟以及對flask模塊中路由和模版兩個功能進(jìn)行基本了解。
到此這篇關(guān)于淺談Python flask框架的文章就介紹到這了,更多相關(guān)Python flask框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python制作當(dāng)年第一款手機(jī)游戲-貪吃蛇游戲(練習(xí))
這篇文章主要介紹了Python制作當(dāng)年第一款手機(jī)游戲-貪吃蛇游戲,文章利用Python?pygame做一個貪吃蛇的小游戲而且講清楚每一段代碼是用來干嘛的,需要的朋友可以參考一下2022-01-01
Django之全局使用request.user.username的實(shí)例詳解
這篇文章主要介紹了Django之全局使用request.user.username的實(shí)例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
python實(shí)現(xiàn)selenium截圖的兩種方法
本文主要介紹了python實(shí)現(xiàn)selenium截圖的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
對pandas讀取中文unicode的csv和添加行標(biāo)題的方法詳解
今天小編就為大家分享一篇對pandas讀取中文unicode的csv和添加行標(biāo)題的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
python四種出行路線規(guī)劃的實(shí)現(xiàn)
路徑規(guī)劃中包括步行、公交、駕車、騎行等不同方式,今天借助高德地圖web服務(wù)api,實(shí)現(xiàn)出行路線規(guī)劃。感興趣的可以了解下2021-06-06
如何使用Python實(shí)現(xiàn)斐波那契數(shù)列
這篇文章主要介紹了如何使用Python實(shí)現(xiàn)斐波那契數(shù)列,斐波那契數(shù)列(Fibonacci)最早由印度數(shù)學(xué)家Gopala提出,而第一個真正研究斐波那契數(shù)列的是意大利數(shù)學(xué)家 Leonardo Fibonacci,需要的朋友可以參考下2019-07-07
python區(qū)塊鏈實(shí)現(xiàn)簡版網(wǎng)絡(luò)
這篇文章主要為大家介紹了python區(qū)塊鏈實(shí)現(xiàn)簡版網(wǎng)絡(luò)的詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

