Flask-http-methods

提供:Dev Guides
移動先:案内検索

Flask – HTTPメソッド

HTTPプロトコルは、World Wide Webでのデータ通信の基盤です。 このプロトコルでは、指定されたURLからデータを取得するさまざまな方法が定義されています。

次の表は、さまざまなhttpメソッドをまとめています-

Sr.No. Methods & Description
1

GET

暗号化されていない形式でデータをサーバーに送信します。 最も一般的な方法。

2

HEAD

GETと同じですが、応答本文はありません

3

POST

HTMLフォームデータをサーバーに送信するために使用されます。 POSTメソッドによって受信されたデータは、サーバーによってキャッシュされません。

4

PUT

ターゲットリソースの現在のすべての表現を、アップロードされたコンテンツで置き換えます。

5

DELETE

URLで指定されたターゲットリソースの現在の表現をすべて削除します

デフォルトでは、Flaskルートは GET リクエストに応答します。 ただし、この設定は、* route()*デコレータにメソッド引数を提供することで変更できます。

URLルーティングでの POST メソッドの使用方法を示すために、最初にHTMLフォームを作成し、 POST メソッドを使用してフォームデータをURLに送信します。

次のスクリプトをloginlとして保存します

<html>
   <body>
      <form action = "http://localhost:5000/login" method = "post">
         <p>Enter Name:</p>
         <p><input type = "text" name = "nm"/></p>
         <p><input type = "submit" value = "submit"/></p>
      </form>
   </body>
</html>

次に、Pythonシェルで次のスクリプトを入力します。

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['nm']
      return redirect(url_for('success',name = user))
   else:
      user = request.args.get('nm')
      return redirect(url_for('success',name = user))

if __name__ == '__main__':
   app.run(debug = True)

開発サーバーの実行が開始されたら、ブラウザーで loginl を開き、テキストフィールドに名前を入力して、[送信]をクリックします。

ポストメソッドの例

フォームデータは、formタグのaction節のURLにPOSTされます。

*http://localhost/login* は* login()*関数にマッピングされます。 サーバーは *POST* メソッドによってデータを受信して​​いるため、フォームデータから取得した「nm」パラメーターの値は次のように取得されます-
user = request.form['nm']

変数部分として ’/success’ URLに渡されます。 ブラウザのウィンドウに welcome メッセージが表示されます。

ようこそメッセージ

*loginl* でメソッドパラメータを *‘GET’* に変更し、ブラウザでもう一度開きます。 サーバーで受信されるデータは *GET* メソッドによるものです。 「nm」パラメータの値は次のように取得されます-
User = request.args.get(‘nm’)

ここで、 args は、フォームパラメータとそれに対応する値のペアのリストを含む辞書オブジェクトです。 「nm」パラメーターに対応する値は、以前と同様に「/success」URLに渡されます。