Flaskには、httpリクエストを処理するためのさまざまなデコレータがあります。 Httpプロトコル でのデータ通信の基礎です ワールドワイドウェブ。
このプロトコルでは、指定されたURLからデータを取得するためのさまざまな方法が定義されています。 次の表は、さまざまなhttpメソッドをまとめたものです。
リクエスト | 目的 |
---|---|
取得する | 最も一般的な方法。 GETメッセージが送信され、サーバーがデータを返します |
役職 | HTMLフォームデータをサーバーに送信するために使用されます。 POSTメソッドによって受信されたデータは、サーバーによってキャッシュされません。 |
頭 | GETメソッドと同じですが、応答本文はありません。 |
プット | ターゲットリソースの現在のすべての表現をアップロードされたコンテンツに置き換えます。 |
削除 | URLで指定されたターゲットリソースの現在の表現をすべて削除します。 |
関連コース: Python Flask:Flaskを使用してWebアプリを作成する
FlaskHTTPメソッド
形
デフォルトでは、FlaskルートはGETリクエストに応答しますが、route()デコレータのメソッドパラメータを指定することで、この設定を変更できます。
URLルートでのPOSTメソッドの使用を示すために、最初にHTMLフォームを作成し、POSTメソッドを使用してフォームデータをURLに送信します。
次のスクリプトをlogin.htmlとして保存します
1 |
<html> |
GETおよびPOSTリクエスト
GETリクエストとPOSTリクエストの両方を処理するために、それをデコレータに追加します app.route()
方法。
どんなリクエストでも、デコレータでそれを変更します。
Pythonシェルに次のスクリプトを入力します。
1 |
from flask import Flask, redirect, url_for, request |
開発サーバーが起動して実行されたら、ブラウザーでlogin.htmlを開き、テキストフィールドに名前を入力して、[送信]をクリックします。
フォームデータは、フォームラベルのaction句のURLにPOSTされます。
ローカルホスト/ログイン login()関数への画像。 サーバーはPOSTメソッドを介してデータを受信するため、フォームデータから取得される「nm」パラメーターの値は、次の手順に従って取得されます。
1 |
user = request.form['nm'] |
変数の一部として「/ success」URLに渡されます。 ブラウザはウィンドウにウェルカムメッセージを表示します。
login.htmlでメソッドパラメータを「GET」に変更してから、ブラウザで再度開きます。 サーバーで受信したデータは、GETメソッドを介して取得されます。 次の方法で「nm」パラメータの値を取得します。
1 |
user = request.args.get('nm') |
ここで、argsは、フォームパラメータのペアとそれに対応する値のペアのリストを含むディクショナリオブジェクトです。 ‘nm’パラメーターに対応する値は、以前と同様に ‘/ success’URLに渡されます。
Hope this helps!
Source link