前言:
Python 面向對象的高級編程語言,以其語法簡單、免費開源、免編譯擴展性高,同時也可以嵌入到C/C++程序和豐富的第三方庫,Python運用到大數(shù)據(jù)分析、人工智能、web后端等應用場景上。
Python 目前主要流行的web框架:flask、Django、Tornado
那么框架與庫的區(qū)別?
框架(framework)跟庫的功能類似,但是框架在某一領域上功能更加全面。使用框架,會減少開發(fā)者重復造輪子,直接調用其類或者函數(shù)就可以實現(xiàn)需求的功能。
那么,我們本期來學習Python提供的 web 框架之一-flask框架相關方法的學習,Let's go~
1. flask 框架概述
flask 框架是一款基于 WSGI 的輕量級的web框架。flask 猶如耳熟能詳?shù)?ldquo;麻雀雖小,五臟俱全”,因此flask具有簡單可拓展的特點。
1.1flask 框架優(yōu)勢
- 基于WSGI應用程序,必須使用顯式實例化
- 使用Werkzeug路由系統(tǒng)進行自動排序路由
- 使用Jinja2模板引擎,快速方便使用模板
- 使用線程局部變量,實現(xiàn)快速訪問weby應用程序
- 支持異步等待和ASCI(async-first)
- 銜接單元測試,開發(fā)人員快速進行測試檢查
- 自帶開發(fā)服務器,無需借助其他第三方網(wǎng)絡服務
1.2flask 框架獲取
使用pip進行下載flask
pip install flask
flask 包下載之后,會自動下載依賴庫
- Werkzeug 庫:實現(xiàn)WSGI,前端與服務端的Python接口
- Jinjia 庫:模板語言,顯示web頁面
- MarkupSafe 庫:附帶Jinjia,用于轉義渲染模板不受信任的輸入
- itsDangerous:保護flask會話的cookie
- Click庫:用于編寫命令行框架
flask 可選的依賴庫,按實際需要進行下
- Blinker 庫:提供對Singals的支持
- Python-dotenv 庫:運行命令時啟動dotenv的環(huán)境變量來支持flask
- Watchdog 為flask服務器提供快速的加載器
1.3flask 框架使用
在代碼中,使用from...import 導入flask包
from flask import flask
長按 Ctrl,我們可以查看Flask源代碼介紹
2. flask demo步驟
在flask web 框架中,我們來看看要搭建一個DEMO的網(wǎng)站需要做哪些步驟:
初始化:導入Flask庫,定義Flask實例化對象
- Flask實例化時,需要傳入__name__:目的是接收包或者模塊的名字作為參數(shù)
- 讓flask.helpers.get_root_path以便獲得靜態(tài)文件和模板文件的目錄
from flask import Flask APP = Flask(__name__)
定義一個應用方法,并且route裝飾器裝飾
- 調用route()方法裝飾創(chuàng)建的應用方法:目的是告訴flask怎么訪問該函數(shù)
@APP.route("/") def hello(): return ("<h1>welcome juejin</h1>")
在main中,flask實例化對象調用run()方法,進行運行
- 如果在調試階段,我們需要設置debug=True
if __name__ == "__main__": APP.run(debug=True)
后臺運行日志鏈接
我們訪問日志中生成的鏈,可以在網(wǎng)頁上看到解析的文字
3. flask 基礎功能
flask 上述實現(xiàn)的簡易web程序,主要使用到啦flask模塊路由功能
3.1路由功能
route()是裝飾器,將URL和函數(shù)綁定
- rule:綁定訪問該函數(shù)的url規(guī)則
- option:要轉發(fā)給Rule對象的參數(shù)列表
@app.route(url,optiion)
- run()是服務器上運行應用程序
- host:監(jiān)聽的主機名
- port:主機端口號
- debug:提供調試信息
- options:要轉發(fā)給底層Werkzeug服務器
3.2模版提供
flask 框架是基于Jinja2模板引擎實現(xiàn)的
- 在項目中創(chuàng)建一個子目錄templates,然后在其目錄下創(chuàng)建demo.html
- 在flask文件中,應用方法中需要調用
render_template('demo.html', name=name)
4、總結
本期,我們對flask 微web框架優(yōu)勢特點、demo web應用程序程序步驟以及對flask模塊中路由和模版兩個功能進行基本了解。
到此這篇關于淺談Python flask框架的文章就介紹到這了,更多相關Python flask框架內容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://juejin.cn/post/7025997161649143822