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