[英]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.