Flask 一個最小的應(yīng)用

2021-12-10 13:55 更新

一個最小的 Flask 應(yīng)用看起來會是這樣:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

把它保存為 hello.py (或是類似的),然后用 Python 解釋器來運行。 確保你的應(yīng)用文件名不是 flask.py ,因為這將與 Flask 本身沖突。

$ python hello.py
 * Running on http://127.0.0.1:5000/

現(xiàn)在訪問 http://127.0.0.1:5000/ ,你會 看見 Hello World 問候。

那么,這段代碼做了什么?

  • 首先,我們導(dǎo)入了 Flask 類。這個類的實例將會是我 們的 WSGI 應(yīng)用程序。
  • 接下來,我們創(chuàng)建一個該類的實例,第一個參數(shù)是應(yīng)用模塊或者包的名稱。 如果你使用單一的模塊(如本例),你應(yīng)該使用 __name__ ,因為模塊 的名稱將會因其作為單獨應(yīng)用啟動還是作為模塊導(dǎo)入而有不同( 也即是 '__main__' 或?qū)嶋H的導(dǎo)入名)。這是必須的,這樣 Flask 才知道到哪去找模板、靜態(tài)文件等等。詳情見 Flask 的文檔。
  • 然后,我們使用 route() 裝飾器告訴 Flask 什么樣 的URL 能觸發(fā)我們的函數(shù)。
  • 這個函數(shù)的名字也在生成 URL 時被特定的函數(shù)采用,這個函數(shù)返回我們想 要顯示在用戶瀏覽器中的信息。
  • 最后我們用 run() 函數(shù)來讓應(yīng)用運行在本地服務(wù)器上。 其中 if __name__ == '__main__': 確保服務(wù)器只會在該腳本被 Python 解釋器直接執(zhí)行的時候才會運行,而不是作為模塊導(dǎo)入的時候。
  • 欲關(guān)閉服務(wù)器,按 Ctrl+C。

    外部可訪問的服務(wù)器

    如果你運行了這個服務(wù)器,你會發(fā)現(xiàn)它只能從你自己的計算機上訪問,網(wǎng)絡(luò) 中其它任何的地方都不能訪問。在調(diào)試模式下,用戶可以在你的計算機上執(zhí) 行任意 Python 代碼。因此,這個行為是默認(rèn)的。

    如果你禁用了 debug 或信任你所在網(wǎng)絡(luò)的用戶,你可以簡單修改調(diào)用 run() 的方法使你的服務(wù)器公開可用,如下:

    app.run(host='0.0.0.0')
    

    這會讓操作系統(tǒng)監(jiān)聽所有公網(wǎng) IP。


    以上內(nèi)容是否對您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號
    微信公眾號

    編程獅公眾號