繁体   English   中英

有没有办法在 flask(变量规则)中添加多个变量

[英]Is there a way to add more than one variable in flask (Variable Rules)

有没有办法使用多个变量在 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 等转换器,是否有可能?

您只需要在方法定义中指定不同的参数

@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一样使用

我猜你正在尝试做这样的查询: host:port/hello?name=john&last_name=doe...

如果是来自 flask 的案例请求可以将其包装成这样的字典:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM