我正在尝试从 Flask 中的 url 获取多个参数。看完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:如何从 Flask 中的 URL 获取多个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21796672/