web-dev-qa-db-ja.com

PythonおよびFlaskを使用してリクエスト変数の値を取得する方法

FlaskでPythonを使用してPOST/GETリクエスト変数の値を取得する方法を知りたいのですが。

Rubyでは、次のようなことをします。

variable_name = params["FormFieldValue"]

Flaskでこれを行うにはどうすればよいですか?

58
dougiebuckets

投稿されたフォームデータはrequest.formから取得でき、クエリ文字列データはrequest.argsから取得できます。

myvar =  request.form["myvar"]
myvar = request.args["myvar"]
61
user1807534

POSTデータを取得する場合、

first_name = request.form.get("firstname")

GET(クエリ文字列)データを取得する場合、

first_name = request.args.get("firstname")

または、値がクエリ文字列にあるのか投稿データにあるのか気にしない/知らない場合は、

first_name = request.values.get("firstname"). 

request.valuesは、request.formとrequest.argsからのDictを結合するCombinedMultiDictです。

129
Jason

POSTデータまたはGETデータを取得するJasonのより一般化された方法にさらに追加する

from flask_restful import reqparse

def parse_arg_from_requests(arg, **kwargs):
    parse = reqparse.RequestParser()
    parse.add_argument(arg, **kwargs)
    args = parse.parse_args()
    return args[arg]

form_field_value = parse_arg_from_requests('FormFieldValue')
3
Amit Kushwaha