📅  最后修改于: 2023-12-03 15:27:04.767000             🧑  作者: Mango
在Python的Web框架Flask中,我们经常需要从前端接收多个参数。而烧瓶(Bottle)也是一个类似Flask的Web框架,提供了多个参数的处理方式。
当我们从前端以GET方式提交多个参数时,可以通过烧瓶的query_string来接收参数,如下所示:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
name = request.query.name
age = request.query.age
return f"Hello, {name}! You are {age} years old."
if __name__ == '__main__':
app.run()
在访问http://localhost:8000/?name=Goblin&age=24时,会输出:
Hello, Goblin! You are 24 years old.
当我们从前端以POST方式提交多个参数时,可以通过烧瓶的forms来接收参数,如下所示:
from bottle import Bottle, request
app = Bottle()
@app.route('/', method='POST')
def index():
name = request.forms.get('name')
age = request.forms.get('age')
return f"Hello, {name}! You are {age} years old."
if __name__ == '__main__':
app.run()
在用curl模拟POST请求,如下所示:
curl -XPOST http://localhost:8000 -d'name=Goblin' -d'age=24'
会输出:
Hello, Goblin! You are 24 years old.
有时候我们会从前端以POST方式提交JSON格式的数据,可以通过烧瓶的json来接收JSON格式数据,如下所示:
from bottle import Bottle, request
app = Bottle()
@app.route('/', method='POST')
def index():
data = request.json
name = data.get('name')
age = data.get('age')
return f"Hello, {name}! You are {age} years old."
if __name__ == '__main__':
app.run()
在用curl模拟POST请求,如下所示:
curl -XPOST http://localhost:8000 -H 'Content-Type: application/json' -d'{"name": "Goblin", "age": 24}'
会输出:
Hello, Goblin! You are 24 years old.
通过以上方式,我们可以方便地处理烧瓶中的多个参数,从而更好地完成Web开发任务。