1、Flask初探-快速入門

一、一個最小的應用窺探flask基本結構

from flask import Flask #從flask中導入Flask
app = Flask(__name__) 創建一個實例

@app.route('/') #裝飾器、設置路由,需要寫在函數前面
def hello_world():  #定理一個方法(無參數)
    return 'Hello World!'   #返回字符串
    #當瀏覽器訪問時,將字符串返回到瀏覽器頁面

if __name__ == '__main__':#判斷是不是啓動文件
#確保服務器只會在該腳本被 Python解釋器直接執行
的時候纔會運行,而不是作爲模塊導入的時候。
    app.run() #運行

可以看出app.run()中沒有傳遞參數,實質上裏面是個默認參數
app.run(host =’127.0.0.1’)代表本機。

還有以下集中設置方法

app.run(host='0,0,0,0') #代表外部網絡可ui訪問的公共的
app.run(host='127.0.0.1')#代表本機

二、調試模式

你啓用了調試支持,服務器會在代碼修改後自動重新載入,
並在發生錯誤時提供一個相當有用的調試器。
有兩種途徑來啓用調試模式。

#第一種
再app實例化後調用
app.debug = True
#第二種
作爲 run 方法的一個參數傳入:
app.run(debug=True)

注意:絕對不能用於生產環境

三、路由

route() 裝飾器把一個函數綁定到對應的 URL 上

#超級超級基礎的演示示例

@app.route('/')
def index():
    return 'Index Page'

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

/route()裏面的東西就是匹配的內容

四、變量規則

·要給 URL 添加變量部分

·你可以把這些特殊的字段標記爲

### 第一種,簡簡單單接收再返回個變量
@app.route('/user/<username>')
def show(username):
    return 'User %s' % username

### 第二種,簡簡單單接收再返回個帶類型的參數
@app.route('/post/<int:post_id>')
def show_post(post_id):
    return 'Post %d' % post_id

當然,還有下面幾種設置類型的參數

類型名稱 功能
int 可接收整數
float 可接受浮點數
path 默認、也可接受斜線

五、解決問題的唯一URL重定向

@app.route(‘/projects/’)裏面的內容必須雙斜線!!!

六、自己構造URL

### 假裝有個寫好的方法

@app.route('/user/<name>')
def showUserName(name):
    return 'User %s' %name


### 魔術開始,構建URL    
@app.route('/redir/<n>')
def redir(n):
    return redirect(url_for('showUserName',name=n))

它接受函數名作爲第一個參數,也接受對應
URL 規則的變量部分的命名參數。

七、使用Flask-Script支持命令行選項

Flask-Script 擴展使用
pip 安裝:

(venv) $ pip install flask-script
(注意venv,確保實在虛擬環境下)

### 關鍵代碼
from flask_script import Manager
### 導入flask_script包
manager = Manager(app)
實例化manager

這樣修改完,可以調整一下運行代碼
if __name__ == '__main__':
manager.run()

手動debug升級爲自動

命令:
python hello.py runserver -d -r --host 0.0.0.0
###  -d  debug 設置爲debug模式,而不是run模式
###  -r reload 設置自動重新載入(app.debug爲True)

  • Thanks for reading! *

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