是否可以使用多个变量在Python Flask中构建动态URL
正常情况是:
from flask import Flask
app = Flask(__name__)
@app.route('/hello/<name>')
def hello_name(name):
return 'Hello %s!' % name
if __name__ == '__main__':
app.run(debug = True)
我想问的是:
from flask import Flask
app = Flask(__name__)
@app.route('/hello/<name><your_pp><etc>')
def hello_name(name):
return 'Hello %s!' % name
if __name__ == '__main__':
app.run(debug = True)
是否可以使用int:your_pp等转换器?
答案 0 :(得分:0)
您只需要在方法定义中指定不同的参数
@app.route('/hello/<name><int:your_pp><float:etc>')
def hello_name(name, your_pp, etc):
return 'Hello %s %d %f!' % (name, your_pp, etc)
但是会导致问题,因为您的代码可能会按您的期望进行拆分,最好使用分隔符,/
更常见
@app.route('/hello/<name>/<int:your_pp>/<float:etc>')
def hello_name(name, your_pp, etc):
return 'Hello %s %d %f!' % (name, your_pp, etc)
像mydomain.com/hello/johnname/123/456.789
一样使用
答案 1 :(得分:0)
我猜您正在尝试执行以下查询:
host:port/hello?name=john&last_name=doe ...
如果flask的case请求可以将其包装成这样的字典:
from flask import request
@app.route('/hello')
def query():
args = request.args
print(args)
return "example string", 200
打印值将如下所示:
ImmutableMultiDict([('name', 'john'), ('last_name', 'doe'))])
此信息将为您提供更多帮助 https://pythonise.com/series/learning-flask/flask-query-strings