Python Web架構flask

來源:互聯網
上載者:User

標籤:服務   ase   設定   djang   inf   web應用   監聽   python   als   

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),可以理解為定義頁面的URLdef 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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.