Flask HTTP方法

Http協(xié)議是萬維網(wǎng)數(shù)據(jù)通信的基礎(chǔ)。 它協(xié)議定義了從指定URL中檢索不同數(shù)據(jù)的方法。

下表概括了不同的http方法 -

編號(hào)方法描述
1GET將數(shù)據(jù)以未加密的形式發(fā)送到服務(wù)器,這最常用的方法。
2HEAD與GET相同,但沒有響應(yīng)主體
3POST用于將HTML表單數(shù)據(jù)發(fā)送到服務(wù)器。通過POST方法接收的數(shù)據(jù)不會(huì)被服務(wù)器緩存。
4PUT用上傳的內(nèi)容替換目標(biāo)資源的所有當(dāng)前表示。
5DELETE刪除由URL給出的所有目標(biāo)資源的所有表示

默認(rèn)情況下,F(xiàn)lask路由響應(yīng)GET請(qǐng)求。 但是,可以通過為route()裝飾器提供方法參數(shù)來更改此首選項(xiàng)。

為了演示在URL路由中使用POST方法,首先創(chuàng)建一個(gè)HTML表單并使用POST方法將表單數(shù)據(jù)發(fā)送到URL。

將以下腳本保存到文件:login.html

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
<html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <title>Flask HTTP請(qǐng)求方法處理</title>
 </head>
    <body>
       <form action = "http://localhost:5000/login" method = "post">
          <p>輸入姓名:</p>
          <p><input type = "text" name = "name" value=""/></p>
          <p><input type = "submit" value = "提交" /></p>
       </form>
    </body>
 </html>

現(xiàn)在在Python shell中輸入以下腳本。

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
from flask import Flask, redirect, url_for, request
 app = Flask(__name__)
 @app.route('/success/<name>')
 def success(name):
     return 'welcome %s' % name
 @app.route('/login',methods = ['POST', 'GET'])
 def login():
     if request.method == 'POST':
         user = request.form['name']
         return redirect(url_for('success',name = user))
     else:
         user = request.args.get('name')
         return redirect(url_for('success',name = user))
 if __name__ == '__main__':
     app.run(debug = True)

開發(fā)服務(wù)器開始運(yùn)行后,在瀏覽器中打開login.html,在文本字段中輸入名稱(如: maxsu )并單擊 提交。 在文本字段中輸入名稱

表單數(shù)據(jù)被提交到<form>標(biāo)簽的action屬性指定的URL。

http://localhost:5000/login被映射到login()函數(shù)。 由于服務(wù)器已通過POST方法接收數(shù)據(jù),因此從表單數(shù)據(jù)獲得'name'參數(shù)的值,通過以下方式-

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
user = request.form['name']

它作為可變部分傳遞給URL:/success。 瀏覽器在窗口中顯示歡迎消息。 瀏覽器中顯示

將login.html中的方法參數(shù)更改為GET并在瀏覽器中再次打開。 在服務(wù)器上收到的數(shù)據(jù)是通過GET方法。 'name'參數(shù)的值現(xiàn)在通過以下方式獲得 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
User = request.args.get('name')

這里,args是字典對(duì)象,它包含一系列表單參數(shù)及其對(duì)應(yīng)值。 與之前一樣,與'name'參數(shù)對(duì)應(yīng)的值將傳遞到URL:/success。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清