Flaskルートでクエリ文字列にアクセスする方法は?

PYTHON3 チュートリアル

はじめに

Flaskを使用してWebアプリケーションを開発している場合、ルートでクエリ文字列にアクセスする必要があることがあります。クエリ文字列はURLの一部であり、例えば ?search=python&sort=asc のように、パラメータを含む形式でURLに追加されます。このパラメータにアクセスして、ユーザーのリクエストに基づいた処理を行うことができます。

Flaskでクエリ文字列にアクセスする

Flaskでは、クエリ文字列にアクセスするために request オブジェクトを使用します。具体的には、request.args を使ってクエリパラメータを取得します。

次に、基本的な使用例を示します:


from flask import Flask, request

app = Flask(__name__)

@app.route('/search')
def search():
    query = request.args.get('query')
    sort = request.args.get('sort')
    return f"検索クエリ: {query}, ソート順: {sort}"

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

この例では、/search ルートに対して querysort という2つのクエリパラメータにアクセスしています。クエリパラメータは request.args.get() を使って取得します。存在しないパラメータを取得しようとした場合は None が返されます。

複数のパラメータを扱う

クエリ文字列には複数のパラメータを含めることができます。以下のように、request.args を直接ループして、全てのパラメータを処理することも可能です。


@app.route('/filter')
def filter():
    filters = {key: value for key, value in request.args.items()}
    return f"フィルタ: {filters}"
            

この方法では、すべてのクエリパラメータを取得し、辞書形式で返すことができます。

まとめ

Flaskでクエリ文字列にアクセスする方法は非常にシンプルです。request.args.get() を使用して特定のパラメータを取得するか、request.args を使ってすべてのパラメータにアクセスできます。これにより、ユーザーが送信したデータに基づいた動的なレスポンスを簡単に作成することができます。

Flaskでは、クエリ文字列にアクセスするためには、requestオブジェクトを使用します。request.argsを使用することで、クライアントから送信されたクエリ文字列のデータにアクセスできます。例えば、以下のようにしてクエリ文字列の値を取得することができます:

“`python
from flask import Flask, request

app = Flask(__name__)

@app.route(‘/’)
def index():
name = request.args.get(‘name’)
return f’Hello {name}’

if __name__ == ‘__main__’:
app.run()
“`

上記の例では、クライアントが`/`エンドポイントに`?name=John`というクエリ文字列を付与した場合、`Hello John`というレスポンスが返されます。このようにして、Flaskのルートでクエリ文字列にアクセスすることができます。

購読
通知
0 Comments
Inline Feedbacks
View all comments