I am having a lot of trouble passing a URL parameter using request.args.get.
My code is the following:
from flask import Flask, request
app= Flask(__name__)
@app.route('/post?id=post_id', methods=["GET"])
def show_post():
post_id=1232
return request.args.get('post_id')
if __name__=="__main__":
app.run(host='0.0.0.0')
After saving, I always type python filename.py in the command line, see Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) as the return on the command line, and then type in the url (http://ip_addres:5000/post?id=1232) in chrome to see if it will return 1232, but it won't do it! Please help.
You should leave the query parameters out of the route as they aren't part of it.
@app.route('/post', methods=['GET'])
def show_post():
post_id = request.args.get('id')
return post_id
request.args
is a dictionary containing all of the query parameters passed in the URL.
request.args
is what you are looking for.
@app.route('/post', methods=["GET"])
def show_post()
post_id = request.args.get('id')
request.args is get all the GET parameters and construct Multidict
like this MultiDict([('id', '1232'),])
so using get
you can get
the id
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With