我正在尝试从Flask中的网址获取多个参数。阅读this SO answer之后,我认为我可以这样做:

@app.route('/api/v1/getQ/', methods=['GET'])
def getQ(request):
    print request.args.get('a')
    print request.args.get('b')
    return "lalala"

但是当我访问/api/v1/getQ/a=1&b=2时,我得到一个TypeError: getQ() takes exactly 1 argument (0 given)。我尝试了其他网址,例如/api/v1/getQ/?a=1&b=2/api/v1/getQ?a=1&b=2,但无济于事。

有人知道我在做什么错吗?欢迎所有提示!

最佳答案

您误读了错误消息;唯一的异常(exception)是如何使用python参数调用getQ,而不是您添加了多少个URL参数来调用 View 。

Flask View 不将request用作函数参数,而是将其用作全局上下文。从函数签名中删除request:

from flask import request

@app.route('/api/v1/getQ/', methods=['GET'])
def getQ():
    print request.args.get('a')
    print request.args.get('b')
    return "lalala"

否则,您访问URL参数的语法是完全正确的。请注意,methods=['GET']是路由的默认设置,您可以将其保留为默认设置。

关于python - Python:如何从Flask中的URL获取多个变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21796672/

10-16 04:21