📅  最后修改于: 2023-12-03 15:11:53.381000             🧑  作者: Mango
在一个Web应用程序中,我们经常需要从URL或表单中获取多个参数。下面是几种从请求中获取多个参数的方法。
我们可以使用Flask中的request.args
来获取GET请求中的参数。
from flask import Flask, request
app = Flask(__name__)
@app.route('/search')
def search():
keyword = request.args.get('keyword')
page = request.args.get('page')
return f'Search results for {keyword} on page {page}.'
if __name__ == '__main__':
app.run()
请求示例:http://localhost:5000/search?keyword=Flask&page=2
我们可以使用Flask中的request.form
来获取POST请求中的表单参数。
from flask import Flask, request
app = Flask(__name__)
@app.route('/login', methods=['POST'])
def login():
username = request.form.get('username')
password = request.form.get('password')
return f'Welcome {username}!'
if __name__ == '__main__':
app.run()
如果我们使用的是JSON格式的请求数据,则可以使用Flask中的request.json
来获取请求中传递的参数。
from flask import Flask, request
app = Flask(__name__)
@app.route('/profile', methods=['POST'])
def profile():
user_id = request.json.get('user_id')
name = request.json.get('name')
age = request.json.get('age')
return f'User {user_id}: {name} ({age} years old)'
if __name__ == '__main__':
app.run()
请求示例:
{
"user_id": 123,
"name": "John",
"age": 30
}
如果我们不确定请求中的参数类型,可以使用Flask中的request.values
获取请求中的所有参数。
from flask import Flask, request
app = Flask(__name__)
@app.route('/search')
def search():
keyword = request.values.get('keyword')
page = request.values.get('page')
return f'Search results for {keyword} on page {page}.'
@app.route('/login', methods=['POST'])
def login():
username = request.values.get('username')
password = request.values.get('password')
return f'Welcome {username}!'
if __name__ == '__main__':
app.run()
以上就是使用Flask获取请求中的多个参数的几种方法,根据具体场景选择合适的方法即可。