前言:
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ù)?ldquo;麻雀雖小,五臟俱全”,因此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)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://juejin.cn/post/7025997161649143822