天天看點

Python系列之Flask架構初識

  Flask是一個使用Python編寫的輕量級Web應用架構,憑借更靈活、輕便、安全且容易上手的特性,成為企業常用的Python架構之一。在完成Web前端、Linux以及MySQL相關的課程之後,專業的Python教育訓練班都會講解Flask架構知識,以下是小編整理的相關知識點。

Flask

  Flask是一個基于Python開發并且依賴jinja2模闆和Werkzeug WSGI服務的一個微型架構,對于Werkzeug本質是Socket服務端,其用于接收http請求并對請求進行預處理,然後觸發Flask架構。開發人員基于Flask架構提供的功能對請求進行相應的處理,并傳回給使用者,如果要傳回給使用者複雜的内容時,需要借助jinja2模闆來實作對模闆的處理,即:将模闆和資料進行渲染,将渲染後的字元串傳回給使用者浏覽器。

  預設情況下,Flask不包含資料庫抽象層、表單驗證,或是其它任何已有多種庫可以勝任的功能。然而,Flask支援用擴充來給應用添加這些功能,如同是Flask本身實作的一樣。衆多的擴充提供了資料庫內建、表單驗證、上傳處理、各種各樣的開放認證技術等功能。

  Flask架構的特點:

  1)Flask自由、靈活,可擴充性強,第三方庫的選擇面廣,開發時可以結合自己最喜歡用的輪子,也能結合最流行最強大的Python庫;

  2)入門簡單,即便沒有多少web開發經驗,也能很快做出網站;

  3)非常适用于小型網站;

  4)非常适用于開發Web服務的API;

  5)開發大型網站無壓力,但代碼架構需要自己設計,開發成本取決于開發者的能力和經驗。

  Flask架構運作解釋

  1.app = Flask(__name__)

  建立Flask對象app,Flask類的構造函數隻有一個必須指定的參數,即程式主子產品或包的名字。在大多數程式中,Python的__name__變量就是所需要的值。

  [email protected]('/')

  web浏覽器把請求發送給Web伺服器,Web伺服器再把請求發送給Flask程式執行個體。程式執行個體需要知道對每個URL請求運作哪些代碼,是以儲存了一個URL到Python函數的映射關系。處理URL和函數之間的關系的程式稱為路由。在Flask程式中定義路由的最簡便方式,是使用程式執行個體提供的app.route修飾器,把修飾的函數注冊為路由。route()裝飾器告訴 Flask什麼樣的URL 能觸發我們的函數。這和Java中的注釋有異曲同工之妙。修飾器是Python語言的标準特性,可以使用不同的方式修改函數的行為。慣常用法是使用修飾器把函數注冊為事件的處理程式。

  3.def index():函數

  index()函數放在@app.route('/')後面,是以就是把index()函數注冊為路由。如果部署程式的伺服器域名為

http://127.0.0.1:5000/,

在浏覽器中通路

http://127.0.0.1:5000/

後,會觸發伺服器執行index()函數。

  [email protected]('/user/')

  同@app.route('/'),如果部署程式的伺服器域名為

,在浏覽器中通路

後,會觸發伺服器執行下方修飾函數。

  5.app.run(debug=True)

  程式執行個體用run方法啟動Flask繼承Web伺服器。

  6.if name == '__main__'

  當Python解釋器,讀py檔案,它會執行它發現的所有代碼。在執行代碼之前,它會定義一些變量。例如,如果這個py檔案就是主程式,它會設定__name__變量為"__main__"。如果這個py被引入到别的子產品,__name__會被設定為該子產品的名字。