Flask HTTPメソッド
Flask HTTPメソッド
Httpプロトコルは、World Wide Webにおけるデータ通信の基礎です。指定されたURLからデータを取得するさまざまな方法がプロトコルで定義されています。
次の表は、さまざまなhttpメソッドをまとめたものです。
シリアルナンバー | 方法と説明 |
---|---|
1 | 取得する 暗号化されていない形式でサーバーにデータを送信します。最も一般的な方法。 |
2 | 頭 GETメソッドと同じですが、応答本文はありません。 |
3 | 役職 HTMLフォームデータをサーバーに送信するために使用されます。POSTメソッドによって受信されたデータは、サーバーによってキャッシュされません。 |
4 | 置く ターゲットリソースの現在のすべての表現をアップロードされたコンテンツで置き換えます。 |
5 | 削除 URLで指定されたターゲットリソースの現在の表現をすべて削除します。 |
デフォルトでは、FlaskルーティングはGETリクエストに応答します。ただし、この設定はroute()デコレータにメソッドパラメータを提供することで変更できます。
URLルーティングでのPOSTメソッドの使用を示すために、まずHTMLフォームを作成し、POSTメソッドを使用してフォームデータをURLに送信します。
次のスクリプトをlogin.htmlとして保存します
<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)
開発サーバーが実行されたら、ブラウザでlogin.htmlを開き、テキストフィールドに名前を入力して、[ 送信 ]をクリックします。
フォームデータは、フォームタグのアクション句のURLにPOSTされます。
http:// localhost / loginは、login()関数にマップされます。サーバーはPOSTメソッドを介してデータを受信するため、フォームデータから取得された「nm」パラメーターの値は、次の手順で取得されます。
user = request.form['nm']
変数部分として'/ success' URLに渡されます。ブラウザのウィンドウにウェルカムメッセージが表示されます。
login.htmlでメソッドパラメータを「GET 」に変更し、ブラウザで再度開きます。サーバーで受信したデータは、GETメソッドを介して取得されます。次の手順で「nm」パラメータの値を取得します。
User = request.args.get(‘nm’)
ここで、argsはフォームパラメータのペアと対応する値のペアのリストを含む辞書オブジェクトです。「nm」パラメーターに対応する値は、以前と同様に「/成功」URLに渡されます。
Flask Requestオブジェクト
クライアントWebページからのデータは、グローバル要求オブジェクトとしてサーバーに送信されます。リクエストデータを処理するには、Flaskモジュールからインポートする必要があります。
Requestオブジェクトの重要な属性を以下に示します。
-
フォーム -これは、フォームパラメータとその値のキーと値のペアを含む辞書オブジェクトです。
-
argsが (?)、疑問符の後にURLの一部であるクエリ文字列の内容を-parse。
-
Cookies- Cookieの名前と値を格納する辞書オブジェクト。
-
ファイルは -dataアップロードされたファイルに関連します。
-
方法 -the現在のリクエストメソッド。