1. Flask 中的Hello World!
在使用pycharm創建一個Flask項目后,將會默認創建一個flask的app,這里來講下每行代碼表示的意義,代碼入下
from flask import Flask # 導入flask模塊 如果沒有這個模塊需要使用pip install flask 進行安裝app = Flask(__name__) # 實例化一個flask實例,flask會根據傳入參數,確定應用的路徑,靜態文件和模板文件的默認路徑@app.route('/') # 應用的路由部分
def hello_world():return 'Hello World!' # 該路由指向的函數部分if __name__ == '__main__':app.run() # 運行flask應用
運行程序后在瀏覽器輸入http://localhost:5000就可以看到Hello World!,這就是一個最簡單的Flask應用,使用ctrl+c來停止服務。
注意:
1.在使用flask編寫應用時,如果對代碼進行了修改,需要手動的重啟服務才會生效,Flask有一個調試模式可以優化這個問題,并且在啟動了調試支持后,不僅修改代碼后服務會自動重啟,而且代碼在出現錯誤后會提供一個有用的調試器,調試支持允許執行代碼,存在安全風險,決不能用于生產環境(添加調試支持的兩種方法:1.app.debug=True;2.app.run(debug=True))
2.在使用app.run()啟動應用后,會默認監聽127.0.0.1的5000端口,如果想讓外部機器訪問只需要在run方法中加入參數來指定服務運行的IP、端口,線程進程等。run方法可以添加很多參數,后期繼續講。
2.Flask路由
flask的路由系統就是一個@app.route的裝飾器,在這個裝飾器中可以填入多個參數,這里的route裝飾器就是把一個視圖綁定到URL上。例如:
# 利用路由系統給URL綁定不同的視圖函數
@app.route('/')
def hello_world():return 'Hello World!'
@app.route('/user')
def user():return 'Hello User!'
除此之外,Flask也可以動態的構造URL的特定部分,把動態的值傳遞給視圖函數來使用,例如:
?
@app.route('/user/<username>') # 接收一個動態的值傳遞給視圖函數,視圖函數又將動圖數據返回給前端
def username(username):return 'Hello {username}'.format(username=username)
# 同時也可以指定一個可選的轉化器,指定動態值的類型
# 例子:<int:age>
# int 接受整數
# float 接受浮點數
# path 接受帶有斜線的字符串
asdfasdf阿斯蒂芬sdfasdf