Python 通过URL将变量传递到flask应用程序
我的烧瓶应用程序中有:Python 通过URL将变量传递到flask应用程序,python,flask,Python,Flask,我的烧瓶应用程序中有: @app.route("/changeip/<ip>") def change_ip(ip) : return ip 它会弹出“找不到URL”…我在这里做错了什么?第一条路径描述了一个URL,其中一个值是URL的一部分。第二个url描述的路由没有变量,但url中有一个查询参数 如果您使用的是第一条路由,那么url应该类似于http://127.0.0.1/changeip/1.2.2.2 如果您使用的是第二个url,那么路由应该类似于/changei
@app.route("/changeip/<ip>")
def change_ip(ip) :
return ip
它会弹出“找不到URL”…我在这里做错了什么?第一条路径描述了一个URL,其中一个值是URL的一部分。第二个url描述的路由没有变量,但url中有一个查询参数 如果您使用的是第一条路由,那么url应该类似于
http://127.0.0.1/changeip/1.2.2.2
如果您使用的是第二个url,那么路由应该类似于/changeip
,函数应该是def change\u ip():
,并且应该从request.args['ip']
读取值
通常,路由应该描述应该始终存在的任何参数,并且表单或查询参数应该用于用户提交的数据。您应该使用:
app.route('/something/<ip>')
def function(ip):
接受的答案是正确的,但我想添加OP最初在http请求中尝试的方法 传递变量的另一种方法是通过在url中分隔变量的问号,并使用请求
import requests
然后在方法上,
@app.route("/changeip")
def change_ip():
return requests.args.get('ip', '')
对于url,使用问号分隔符传递变量,这是您最初尝试的方式
http://127.0.0.1:5000/changeip?ip=1.2.2.2
我认为您应该从Flask导入请求,而不是模块请求
@app.route("/changeip")
def change_ip():
return requests.args.get('ip', '')
http://127.0.0.1:5000/changeip?ip=1.2.2.2