How do you access the query string in Flask routes? How do you access the query string in Flask routes? flask flask

How do you access the query string in Flask routes?


from flask import request@app.route('/data')def data():    # here we want to get the value of user (i.e. ?user=some-value)    user = request.args.get('user')


The full URL is available as request.url, and the query string is available as request.query_string.decode().

Here's an example:

from flask import request@app.route('/adhoc_test/')def adhoc_test():    return request.query_string

To access an individual known param passed in the query string, you can use request.args.get('param'). This is the "right" way to do it, as far as I know.

ETA: Before you go further, you should ask yourself why you want the query string. I've never had to pull in the raw string - Flask has mechanisms for accessing it in an abstracted way. You should use those unless you have a compelling reason not to.


I came here looking for the query string, not how to get values from the query string.

request.query_string returns the URL parameters as raw byte string (Ref 1).

Example of using request.query_string:

from flask import Flask, requestapp = Flask(__name__)@app.route('/data', methods=['GET'])def get_query_string():    return request.query_stringif __name__ == '__main__':    app.run(debug=True)

Output:

query parameters in Flask route

References:

  1. Official API documentation on query_string