如何使用烧瓶将多个参数发送到路由?
Posted
技术标签:
【中文标题】如何使用烧瓶将多个参数发送到路由?【英文标题】:How to send multiple parameters to route using flask? 【发布时间】:2018-12-16 07:37:49 【问题描述】:最近开始学习Flask框架,做了一个小程序来理解flask中的request/response
循环。
我的问题是最后一个名为 calc
的方法不起作用。
我发送请求为:
http://127.0.0.1/math/calculate/7/6
我得到错误:
“未找到: 在服务器上找不到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。”
下面是我的烧瓶应用代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "<h1>Hello, World!</h1>"
@app.route('/user/<name>')
def user(name):
return '<h1>Hello, 0!</h1>'.format(name)
@app.route('/math/calculate/<string:var1>/<int:var2>')
def calc(var1, var2):
return '<h1>Result: 0!</h1>'.format(int(var1)+int(var2))
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80, debug=True)
【问题讨论】:
你为什么要抓取 var1 作为字符串?你用要访问评论中描述的请求参数,您可以使用请求库:
from flask import request
@app.route('/math/calculate/')
def calc():
var1 = request.args.get('var1',1,type=int)
var2 = request.args.get('var2',1,type=int)
return '<h1>Result: %s</h1>' % str(var1+var2)
此方法的文档记录在此处:
http://flask.pocoo.org/docs/1.0/api/#flask.Request.args
从request.args中提取key值的get方法原型为:
get(key, default=none, type=none)
【讨论】:
以上是关于如何使用烧瓶将多个参数发送到路由?的主要内容,如果未能解决你的问题,请参考以下文章