我正在尝试从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/