Flask從入門到入土(一)——程序的基本結構

  • 时间:
  • 浏览:1
  • 来源:大发彩神UU快三_大发神彩UU快三官方

二.路由和視圖函數

   此時命令行的數據:

  像index()這樣的函數稱爲視圖函數。視圖函數返回的響應能能 是含有HTML的簡單字符,能够否是復雜的表單。

   系统进程實例用run最好的土办法啓動Flask集成的開發Web服務器(Flask有我本人的集成開發服務器,但会 調用也是其Web服務器):

三.啓動服務器

一.初始化

  將構造函數的name參數傳給Flask系统进程,這一點可能會讓Flask開發新手心生迷惑。Flask用你你这种 參數決定系统进程的根目錄,以便稍後能夠找到相對與系统进程個目錄的資源文件的位置。

          

    此時在瀏覽器中輸入 http://127.0.0.1:300/user/master

  客戶端把請求發送給Web服務器,Web服務器再把請求發送給Flask系统进程實例。系统进程實例前要知道對每個URL請求運行那些代碼,太大 太大 保存類一個URL到Python函數的映射關系處理URL和函數之間關系的系统进程路由稱爲路由。

  運行結果:

  前例把index()函數注冊爲系统进程根地址的處理系统进程。可能部署系统进程的服務器域名爲www.example.com,在瀏覽器中訪問http://www.example.com後,會觸發服務器執行index()函數。你你这种 函數的返回值稱爲響應,是客戶端收到的內容。可能客戶端書Web瀏覽器,響應就書顯示給用戶查看的文檔。

          

  尖括號中的內容但会 動態部分,任何能匹配靜態部分的URL都會映射到你你这种 路由上。調用視圖函數時,Flask會將動態部分作爲參數傳入函數。在你你这种 視圖函數中,參數用於生成針對個人的歡迎消息。路由中的動態部分默認使用字符串,不過能够否使用類型定義。累似 于,路由/user/<int:id>只會匹配動態片段id爲整數的URL。Flask支持在路由中使用int,float,path類型,path也是字符串,但不把斜線作爲分隔符,但会 當作動態片段的一部分。

       Flask類的構造函數没法一個必須指定的參數,即系统进程主模板或包的名字。在大多數系统进程中,python的__name__變量但会 所需的值。

  <客戶端----Web---Flask> 

                               

  在Flask系统进程中定義路由的最簡便最好的土办法,是使用系统进程實例提供的app.route修飾器,把修飾的函數注冊爲路由。下面的例子說明了怎麼使用你你这种 修飾器聲明路由:

  可能你仔細觀察日常所用服務的或多或少URL格式,會發現太大 太大 地址中都含有可變部分。累似 于 http://www.example.com/user/<user-name>,Flask支持這種形式的URL,只需在route修飾器中使用特殊的語法即可。

四.一個完全的系统进程

  服務器啓動後,會進入輪詢,等待的图片 並處理請求。輪詢會突然運行,直到系统进程停止,比如按Cril-C鍵。

  修飾器書python語言的標準结构,能能 使用不同的最好的土办法修改函數的行爲。通常用法是把函數注冊爲事件處理函數系统进程。

    此時在瀏覽器中輸入   http://127.0.0.1:300/

  有或多或少選項參數能能 被app.run()函數接受用於設置Web服務器的操作模式。在開發過程中啓用調試模式會帶來或多或少便利。

  運行後:

     * Running on http://127.0.0.1:300/ (Press CTRL+C to quit)

  所有Flask系统进程都必須創建一個系统进程實例。Web服務器使用一種名爲Web服務器網關接口的協議,把接收自客戶端的所有請求都轉交給你你这种 對象處理。系统进程實例書Flask類的對象,創建代碼:

  __name=='__main__是python的常慣用法,在這裏確保直接執行你你这种 腳本時才啓動開發Web服務器。可能你你这种 腳本由或多或少腳本引入,系统进程假定父級腳本會啓動不同服務器,但会 不會執行app.run()。

  在python代碼中嵌入響應字符串會導致代碼難以維護,太大 太大 此處這麼做但会 爲了介紹響應的概念。

  是時候開發一個系统进程了。整個hello.py系统进程腳本就書把前面三個部分合並到一個文件中。