はじめに
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
ルートに対して query
と sort
という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, requestapp = 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のルートでクエリ文字列にアクセスすることができます。