python 環境安裝:
python 3.10
python工具安裝:
pycharm社區版
安裝flask
可以用pip install flask安裝 ;
也可以直接在pycharm中輸入from flask import Flask後點擊安裝。
編寫第一個helloworld程序
1.File - > New Project 創建項目
修改項目名稱,生成目錄結構如下:
2.增加app.py
app.py
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return "hello world!" if __name__ == '__main__': app.run()
3.點擊運行即可
效果如上
講解
1、面向對象
Flask是一個類,app是這個類的實例,也可以說是這個類創建出來的對象,在創建app這個對象時,需要傳入參數import_name,通常,我們使用__name__(模塊的一個全局變量,表示模塊名稱)
2、裝飾器
route是一個裝飾器,在本示例中,用來裝飾函數hello_world,當請求的path 是 / 時,程序用函數hello_world來處理這個請求,關於請求的path,可以參考這篇文章 todo
3、服務器監聽設置
當我們啓動這個程序後,在最底層,其實是一個TCP服務端程序,也就是一個socket服務,socket服務在綁定host和port時存在這樣的機制,如果你希望這個socket只能本本機的客戶端訪問,那麼host設置成127.0.0.1,如果希望所有機器都能訪問,需要設置成0.0.0.0。
端口號默認使用5000, 你也可以改成其他端口號,很隨意,只要不超過65535即可,但是要注意,不要選擇那些已經被其他服務使用的端口號,否則會報錯
Address already in use
上面的服務,我們可以修改成
if __name__ == '__main__':
app.run(host='0.0.0.0', port=1122)
4、自動加載技術--reload
自動加載技術在web開發中應用很廣泛,設想,你正在編寫一個服務,每寫完一段代碼,都需要進行調試,有時僅僅是修改了一行代碼,如果爲了測試代碼,不停的重啓服務,着實讓人煩惱。
自動加載技術會監測項目裏文件的修改情況,一旦發現文件有修改,就會重新加載這個文件,相當於重新import這個模塊,這樣,你的每一次改動都會在保存後生效而不需要你重啓服務,是不是很爽,關於這個技術,我會專門寫文章來介紹。
開啓flask自動加載只需要將debug參數設置爲True,flask將以調試模式啓動
if __name__ == '__main__':
app.run(host='0.0.0.0', port=1122, debug=True)
啓動服務後,可以在瀏覽器裏訪問http://127.0.0.1:1122/ ,瀏覽器裏顯示Hello World!
然後將hello_world裏return的內容修改爲"Hello World! I love python",觀察服務,一定會重新啓動,出現類似下面的提示信息
* Debugger pin code: 194-794-301
* Detected change in '/Users/zhangdongsheng/finup/experiment/studyflask/simple_app/app.py', reloading
* Restarting with stat
再一次在瀏覽器裏訪問http://127.0.0.1:1122/ ,瀏覽器裏顯示的將是Hello World! I love python