📜  获取请求中的多个参数 (1)

📅  最后修改于: 2023-12-03 15:11:53.381000             🧑  作者: Mango

获取请求中的多个参数

在一个Web应用程序中,我们经常需要从URL或表单中获取多个参数。下面是几种从请求中获取多个参数的方法。

1. 使用request.args获取GET请求参数

我们可以使用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

2. 使用request.form获取POST请求参数

我们可以使用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()
3. 使用request.json获取JSON格式请求参数

如果我们使用的是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
}
4. 使用request.values获取所有请求参数

如果我们不确定请求中的参数类型,可以使用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获取请求中的多个参数的几种方法,根据具体场景选择合适的方法即可。