python-flask之helloworld

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章