如何使用python、Flask和命令行传递URL参数
使用request.args.get传递URL参数时遇到很多问题 我的代码如下:如何使用python、Flask和命令行传递URL参数,python,http,command-line,flask,Python,Http,Command Line,Flask,使用request.args.get传递URL参数时遇到很多问题 我的代码如下: 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__": ap
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')
保存后,我总是在命令行中键入python filename.py,在命令行中查看Running on(按CTRL+C退出)作为返回,然后在chrome中键入url(),查看它是否返回1232,但它不会返回!请帮忙。
就是您要找的
@app.route('/post', methods=["GET"])
def show_post()
post_id = request.args.get('id')
request.args是获取所有get参数并像这样构造
MultiDict([('id','1232'),]),因此使用get
可以get
id您应该将查询参数保留在路由之外,因为它们不是路由的一部分
@app.route('/post', methods=['GET'])
def show_post():
post_id = request.args.get('id')
return post_id
request.args
是一个包含URL中传递的所有查询参数的字典。那么URL是什么呢?非常感谢你!URL仍然是http://:5000/post?id=1232id
是一个查询参数,将出现在请求.args
字典中,其值为1232
。注意:我编辑了上面的答案以更正参数的名称。因此基本上,request.args.get('id')会自动将参数插入url中?不,一点也不。您可以输入URLhttp://127.0.0.1:5000/post?id=1232
。Flask将切断查询字符串,即?id=1232
,并与实际路径匹配,即/post
。该路径被路由到show\u post
功能request.args
是一个包含随URL一起传递的所有查询参数的字典,在本例中,URL是键id
和值1232
request.args
这是一本类似这样的字典:{“id”:“1232”}
@SAS请看我的答案也谢谢!那么URL是什么呢?好的,酷D非常感谢你!你的回答同样有用!现在我不仅可以使用你们提供的代码,还可以理解它在做什么:)