11.18 flask!何方神聖

flask是何方神聖?

flask!何方神聖

Flask是一個輕量級的可定製框架,使用Python語言編寫,較其他同類型框架更為靈活、輕便、安全且容易上手。它可以很好地結合MVC模式進行開發,開發人員分工合作,小型團隊在短時間內就可以完成功能豐富的中小型網站或Web服務的實現。另外,Flask還有很強的定製性,用戶可以根據自己的需求來添加相應的功能,在保持核心功能簡單的同時實現功能的豐富與擴展,其強大的插件庫可以讓用戶實現個性化的網站定製,開發出功能強大的網站。

環境搭建

  • python的安裝

python語言現在是炙手可熱的,曾經大學時代的我,總有一個軟件開發的夢想,那就是要學一門最強大的,啥都能夠乾的語言,從這個層面而言,python那就是我心中的女神。Python 是一種代表簡單主義思想的語言。閱讀一個良好的 Python 程序就感覺像是在讀英語一樣,儘管這個英語的要求非常嚴格!Python 的這種偽代碼本質是它最大的優點之一。它使你能夠專注於解決問題而不是去搞明白語言本身。同時,關鍵是它及其強大, 擁有龐大的標準庫。它可以幫助你處理各種工作,反正就是萬金油一枚。記住,只要安裝了 Python,就可以上天入地,比如屌絲的我,一個很low的用法,把python當計算器用,高大上的麼,現在的AI裡面,python也是臺柱子一根。

python秉承的是簡單主義,那麼安裝也是及其簡單的,下載了安裝包以後,就如同一般的軟件一般直接setup就行了,需要注意的是,最好將安裝路徑加載到系統搜索路徑中,其二是尤其是要注意python的版本,2.×和3.×的版本還是有不小的差異的,不過現在最新的是3.7,經典的2.×版本是2.6和2.7。看實際的需要吧,主要是取決於python的庫的版本支持。

  • flask的安裝

類似於java中的jar包,flask也是python擴展庫中的一種,那麼在安裝了python之後,配置了pip工具後,即可通過pip flask完成flask的安裝。那麼要問我pip是什麼,解釋一下,pip 是 Python 包管理工具,該工具提供了對Python 包的查找、下載、安裝、卸載的功能。Python 2.7.9 + 或 Python 3.4+ 以上版本都自帶 pip 工具,在執行了pip flask後,如果判斷flask是否安裝成功了呢?可以通過 pip show flask來查看:

flask!何方神聖

flask下的微服務架構

既然flask是使用Python語言編寫,下面我們還是用hollo world來歡迎大家來到flask的神奇世界:

第一步:引用模塊

import flask

類似於java中的import,這裡的含義一樣,就是將我們前文中安裝的flask進行導入。

第二步:創建flask實例

app = Flask(__name__)

創建一個應用app對象,python是動態語言,變量只要依據先申明後使用的原則即可,那麼其中比較晦澀的是__name__,這是在其他語言中看不到的,那麼__name__代表什麼呢?其實__name__就是標識模塊的名字的一個系統變量。這裡分兩種情況:假如當前模塊是主模塊(也就是調用其他模塊的模塊),那麼此模塊名字就是__main__;假如此模塊是被import的,則此模塊名字為文件名字。這裡創建了一個Flask的實例app,它接收包或者模塊的名字作為參數,但一般都是傳遞__name__。

第三步:配置路由

@app.route("/hello") 
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()

是不是很眼熟,和java中的Annotation很類似,到這裡估計有點spring mvc基礎的童鞋一看就明白了,上下文是hello的就執行函數hello(),網頁輸出就是"Hello world!"。對!這就是一個最簡單的flash應用,是不是很快,那個號稱“黃色閃光”火影四代目波風水門,也快不過如此吧!老闆,就是兇惡的尾獸,今天我就可以搞定你。

第四步:運行

python hello_flask.py

看看效果,打開瀏覽器,訪問http://localhost/hello,是不是看到了Hello world!對了執行到這裡,你就入門了,師傅我已經把你領進門了,後面就看你自己的了。呵呵

尾聲

看不到效果,開玩笑,2/8法則,80%的問題都是20%的原因造成的,端口被佔用了,很簡單,改變應用的服務端口,將

app.run() 改為 app.run(port=8080) 即可。

總結

對java瞭解的開發者可能會發現這裡基本和spring的requestmapping幾乎如出一轍,至少在restapi的實現上有相似之處。設定和實現起來非常地方便,這就是flask用於web開發入門的簡單之處。


分享到:


相關文章: