1. 程式人生 > >Python Web框架flask

Python Web框架flask

關閉 config simple def 修改配置 效率 http 修改 應用

Python有很多Web框架,可謂是百家爭鳴,我這裏列出幾個比較叼的幾個框架

  • Django 市場占有率最高,官方文檔幾近完美,但是適合比較大的項目,小項目會顯得累贅。
  • Tornado 可異步,性能高,提供更多的底層細節,還能進行Web Socket,但是和數據庫…..(大坑)
  • Web.py 小巧,精煉,擴展不是很多,而且問題是作者太牛掰,被上帝請去喝茶了。
  • Flask 年輕,2010年出現、可擴展、小巧、內置開發服務器和調試器、使用jinja2模板、完全兼容WSGI 1.0

flask框架安裝直接在pycharm裏面下載就好,測試flask安裝成功後,開始以下:

Flask最最簡單的一個頁面

from flask import Flask # 導入包
 
app = Flask(__name__) # 創建一個Web應用
 
@app.route(/) # 定義路由(Views),可以理解為定義頁面的URL
def index(): 
    return "Hello World" # 渲染頁面
 
if __name__ == "__main__":
    app.run(host=127.0.0.1,port=8080) # 運行,指定監聽地址為 127.0.0.1:8080

結果如下:

技術分享圖片

點擊 進入網頁 可以看到 “Hello World”

開啟Debug調試

修改了代碼,我們需要將開啟的Web程序關閉再開啟,這樣會影響開發效率,也很煩。

Flask內部有一個功能,專門針對這樣的事情發生。

if __name__ == "__main__":
    app.run(host=127.0.0.1,port=8080,debug=True)

debug參數,這個參數默認是False

開啟這個功能後,我們每次修改完代碼,Web應用對自動進行調整。

現在修改代碼並且保存,應用就會自動更新你的代碼。

分析

 1 from flask import Flask  # 導入包
 2 
 3 app = Flask(__name__
) # 創建一個Web應用 4 5 @app.route(/) # 定義路由(Views),可以理解為定義頁面的URL 6 def index(): 7 return "Hello World" # 渲染頁面 8 9 if __name__ == "__main__": 10 app.run(host=127.0.0.1, port=8080) # 運行,指定監聽地址為 127.0.0.1:8080

第3行:Flask需要一個參數,這個參數通常是主模塊或是包的名字。所以通常會傳入 __name__

第5行:可以通過使用app.config類來修改配置,開啟調試模式。當然,這裏所采用的方法只能適用於設置很少的時候,以後會介紹另外幾種修改配置的方法。

第7行: 還記得我之前提到了MVC嗎?這裏就是其中V,就是路由。這裏的代碼的目的就是為我們來指定一個路由,也就是頁面的地址。

第8 – 9行: 使用app.route()裝飾器會將URL和執行的視圖函數(函數 index )的關系保存在app.url_map屬性上。當你訪問指定的URL時,就會調用這個函數。當遇到第一個return時,就會結束。其中的return就是你的response

第12行: 執行app.run來啟動服務器。默認的Flask會監聽的地址是127.0.0.1:5000。我們指定host和port參數,就修改了監聽地址。 服務啟動後,會先判斷參數host以及port是否為None,如果為None,就會將host和port修改為默認值。然後會判斷debug。然後就會調用werkzeug.serving.run_simple來啟動Web服務,默認會使用單進程的werkzeug.serving_BaseWSGIServer來處理客戶端的請求。

還要註意的就是,這裏的app.run的啟動方法,只適合在碼代碼的時候調試

Python Web框架flask