http協議是全球資訊網資料通訊的基礎. 在這個協議上可以對同一url使用不同的方法獲取資料.
下面展示了幾種不同的http方法.
flask路由預設處理的是get請求, 但我們可以通過新增route()裝飾器的引數來改變這點.
為便於演示url路由中的post方法, 我們建立乙個html表單, 並用這個表單給url傳送資料.
將下面內容儲存為login.html.
將下面這段python**儲存並執行:
from flask import flask, redirect, url_for, request
def success(name):
return 'welcome %s' % name
def login():
if request.method == 'post':
user = request.form['nm']
return redirect(url_for('success',name = user))
else:
user = request.args.get('nm')
return redirect(url_for('success',name = user))
if __name__ == '__main__':
在開發模式下執行程式開啟伺服器後, 在瀏覽器中開啟login.html, 會看到乙個簡陋的表單, 我們填入名字並提交.
然後表單就把資料post到action所指示的url上.http://localhost:5000/login這個url被繫結到login()
函式上, 一旦伺服器通過post方法接收到資料, 表單裡nm
欄位的值就從下面這段**中獲取到了:
user = request.form['nm']
然後這個值被作為變數傳到了/success
這個url上, 瀏覽器最終展示的是/success
url下的welcome字樣的資訊.
我們把login.html中的action
改為get
方法, 再次從瀏覽器中開啟頁面, 提交後, 伺服器**收到的是get
請求,nm
欄位的值這次用如下**獲取:
user = request.args.get(『nm』)
這裡,args
是由字段的名稱和值組成的字典物件,nm
欄位的值同樣被傳遞到了/success
url上. 譯 Flask教程 模版
我們可以讓繫結到某個url的函式返回html.比如下面的 中,hello 函式會返回由 if name main 但大家看得出,這樣直接通過python 返回html內容顯得很笨,尤其當我們碰到需要對輸入變數做條件判斷和迴圈時,我們經常需要做字串嵌入拼接這種體力活.這種情況下,我們需要利用flask...
譯 Flask教程 重定向與錯誤
flask類有乙個redirect 方法.當我們呼叫它時,它會返回乙個響應物件並且按指定的狀態碼將使用者重定向到另乙個位置.redirect 方法的原型如下 flask.redirect location,statuscode,response 在上面的函式中,下面是一些標準的狀態碼 重定向的狀態碼...
Flask 指定HTTP方法
from flask import flask,url for,request defindex article 2 只傳乙個aid 根據函式的名字進行反轉 得到函式對應的路由 重定向 article 2 page 2 aid 2,page 2 把不存在的數page 2當引數了 article 2 ...